我尝试了很多东西,但我无法弄清楚如何去做。我从我的数据库中获取了一个对象列表,我实际上想要在视图中显示所有对象。 因此我得到了我的对象列表:
List<Contact> ListeContacts = StructureData.DonneListeContact(NumDossier);
然后我将我的列表传递给ViewBag:
ViewBag.ListeContacts = ListeContacts;
所以现在我想在视图中的select中显示每个对象的所有属性,所以我尝试了这样:
<select>
@foreach (System.Data.DataRow Contact in ViewBag.ListeContact)
{
<option>@Html.DisplayName(Contact["nom_contact"].ToString())</option>
}
</select>
但它在foreach上显示了一个“NullReferenceExeption”。网上有很多例子,但都是用EntityFramework完成的,因此在使用模型数据结构时很简单。有人有想法吗?
答案 0 :(得分:1)
你试过了吗?
<select>
@foreach (var contact in ViewBag.ListeContacts)
{
<option>@Html.DisplayName(contact["nom_contact"].ToString())</option>
}
</select>
看起来你有list of Contact
并且你正试图从集合中获得DataRow
?
编辑:还要确保您引用的媒体资源存在,即nom_contact
答案 1 :(得分:0)
您已分配给ViewBag.ListeContacts但采用ViewBag.ListeContact。你错过了变量名末尾的字母“s”。
然后您可以将其转发回List,如下所示。
List<Contact> ListeContacts = (List<Contact>)ViewBag.ListeContacts