コントローラーで、ViewBag に型 (TypeID、名前) を入力します。
ViewBag.Types = types.ToList();
その後、ビューで
@foreach (var item in ViewBag.Types)
{
@item.Name
}
このエラー:「オブジェクト」には「名前」の定義が含まれていません
コントローラーで、ViewBag に型 (TypeID、名前) を入力します。
ViewBag.Types = types.ToList();
その後、ビューで
@foreach (var item in ViewBag.Types)
{
@item.Name
}
このエラー:「オブジェクト」には「名前」の定義が含まれていません
ViewBag、ViewData、またはそのような動的なMagicアイテムは、スペルミスが原因でビューが失敗したかどうかを通知しないため、悪意があります。一方、厳密に型指定されたモデルを使用すると、問題が発生したときにコンパイル時エラーが発生します。また、Intellisenseのサポートも受けられます。
強く型付けされたアプローチを使用してみませんか?
public ActionResult Create()
{
return View(types.ToList());
}
そして、ビューを1つまたは複数のオブジェクトに強く型付けします
@model IList<Types>
@foreach(var item in Model)
{
<p>@item.Name</p>
}
あなたのタイプがのリストであるとしましょうfoo
。ViewBag.Types
あなたがしたようにあなたを渡し、ビューでこれを行います:
@{
var TypeList= (List<foo>)ViewBag.Types;
}
そして、次のようにします:
@foreach (var item in TypeList)
{
@item.Name
}
foo
注:エンティティへのフル パスを記述する必要がある場合があります。