0

コントローラーで、ViewBag に型 (TypeID、名前) を入力します。

ViewBag.Types = types.ToList();

その後、ビューで

@foreach (var item in ViewBag.Types)
    {
       @item.Name
}

このエラー:「オブジェクト」には「名前」の定義が含まれていません

4

2 に答える 2

1

ViewBag、ViewData、またはそのような動的なMagicアイテムは、スペルミスが原因でビューが失敗したかどうかを通知しないため、悪意があります。一方、厳密に型指定されたモデルを使用すると、問題が発生したときにコンパイル時エラーが発生します。また、Intellisenseのサポートも受けられます。

強く型付けされたアプローチを使用してみませんか?

public ActionResult Create()
{
  return View(types.ToList());
}

そして、ビューを1つまたは複数のオブジェクトに強く型付けします

@model IList<Types>
@foreach(var item in Model)
{
  <p>@item.Name</p>
}
于 2012-09-07T15:06:49.790 に答える
0

あなたのタイプがのリストであるとしましょうfooViewBag.Typesあなたがしたようにあなたを渡し、ビューでこれを行います:

@{
    var TypeList= (List<foo>)ViewBag.Types;
}

そして、次のようにします:

@foreach (var item in TypeList)
    {
       @item.Name
    }

foo注:エンティティへのフル パスを記述する必要がある場合があります。

于 2012-09-07T15:17:30.863 に答える