ASP.NETとC# ビューでプロパティ値を表示

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行ごとに表示されます。

関連の記事

ASP.NETとC# ビューの書き方(変数/配列/if/for)

△上に戻る