ASP.NETとC#のビューでプロパティ値を取得して表示するサンプルです。
(確認環境:Microsoft Visual Studio Community 2019)
目次
サンプル | ビューでプロパティ値を表示 |
コントローラー(HomeController.cs) | |
モデル(Color.cs) | |
ビュー(TestView.cshtml) |
ビューでプロパティ値を表示
Web画面表示時にコントローラーのHomeController.csでモデルのColor.csから値を取得してプロパティに値をセットし、ビューのTestView.cshtmlの表示時にプロパティの値を表示します。
https://localhost:44396/Home/TestView
コントローラー(HomeController.cs)
using asp01.Models;
using System.Web.Mvc;
namespace asp01.Controllers
{
public class HomeController : Controller
{
public ActionResult TestView()
{
Color color = new Color();
color.GetColorName();
return View(color);
}
}
}
10行目は、クラスをインスタンス化しています。
11行目は、メソッドで取得した値をプロパティにセットしています。(セット内容はColor.cs)
12行目は、インスタンスを引数にしてビューを表示します。
モデル(Color.cs)
using System.Collections.Generic;
namespace asp01.Models
{
public class Color
{
public List<string> ColorName { get; set; }
public void GetColorName()
{
var colorWork = new List<string>();
// DB等から値を取得
colorWork.Add("red");
colorWork.Add("yellow");
colorWork.Add("blue");
ColorName = colorWork;
}
}
}
7行目は、Listのプロパティです。
14行目以降は、値をリストにセットし18行目でプロパティに値をセットしています。
ビュー(TestView.cshtml)
@model asp01.Models.Color
<!DOCTYPE html>
<html>
<head>
<title>TestView</title>
</head>
<body>
@foreach (var color in Model.ColorName)
{
<p>@color</p>
}
</body>
</html>
1行目は、コントローラから渡されるインスタンスです。中にセットした値があります。
9~12行目は、foreach文です。セットしたリストの要素の数だけループします。
結果はコントローラでセットしたred,yellow,blueが1行ごとに表示されます。
関連の記事