Asp.net-Mvc

如何使用 ViewBag 顯示列表

  • May 9, 2012

嗨,我需要使用 viewbag 顯示數據列表。但我無法做到。

請幫助我..

我試過這個東西:

ICollection<Learner> list = new HobbyHomeService().FetchLearner();
ICollection<Person> personlist = new HobbyHomeService().FetchPerson(list);
ViewBag.data = personlist;

和內部視圖:

<td>@ViewBag.data.First().FirstName</td>

但這不會顯示值並給出錯誤消息“Model.Person 不包含 First() 的定義”

在您看來,您必須將其轉換回原始類型。沒有演員表,它只是一個對象。

<td>@((ViewBag.data as ICollection<Person>).First().FirstName)</td>

ViewBag 是 C# 4 動態類型。除非強制轉換,否則從它返回的實體也是動態的。但是,像 .First() 和所有其他 Linq 這樣的擴展方法不適用於 dynamics

編輯 - 解決評論:

如果要顯示整個列表,就這麼簡單:

<ul>
   @foreach (var person in ViewBag.data)
   {
       <li>@person.FirstName</li>
   }
</ul>

.First() 之類的擴展方法不起作用,但這會起作用。

引用自:https://stackoverflow.com/questions/10521831