Asp.net-Mvc
如何使用 ViewBag 顯示列表
嗨,我需要使用 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() 之類的擴展方法不起作用,但這會起作用。