2013-08-01 46 views
1

我已經嘗試了很多東西,但我無法弄清楚如何去做。我從我的數據庫中獲取對象列表,我實際上想要顯示視圖中的所有對象。 所以我得到我的感謝對象列表給該函數:如何將對象列表從控制器傳遞到視圖並訪問每個對象的屬性?

List<Contact> ListeContacts = StructureData.DonneListeContact(NumDossier); 

然後,我通過我的列表中ViewBag:

ViewBag.ListeContacts = ListeContacts; 

所以現在我想在顯示每個對象的所有屬性一個在視圖中選擇,所以我嘗試這種方式:

<select> 
    @foreach (System.Data.DataRow Contact in ViewBag.ListeContact) 
     { 
      <option>@Html.DisplayName(Contact["nom_contact"].ToString())</option> 
     } 
</select> 

但它顯示我對一的foreach「NullReferenceExeption」。網上有很多例子,但都使用EntityFramework完成,因此使用模型數據結構時很簡單。有人有想法嗎?

+0

「NullReferenceException」在哪裏? –

+0

噢,對不起,我編輯的職位 –

回答

1

你試過:

<select> 
    @foreach (var contact in ViewBag.ListeContacts) 
     { 
      <option>@Html.DisplayName(contact["nom_contact"].ToString())</option> 
     } 
</select> 

它看起來像你有一個list of Contact,你正設法從集合中DataRow

編輯:另外,還要確保你引用的屬性存在,即nom_contact

+0

是的,我只是試着說:」 '但它仍然顯示我同樣的錯誤... –

+0

是** nom_contact **屬性?在行'ViewBag.ListeContacts = ListeContacts;'放一行,並檢查** ListeContacts中的值** – christiandev

+0

是的,它是對象Contact的第一個屬性。 OKay,現在就試試吧 –

0

你必須分配給ViewBag.ListeContacts而是採取爲ViewBag.ListeContact。你錯過了變量名稱末尾的字母「s」。

然後你可以將它重新轉換回List。

List<Contact> ListeContacts = (List<Contact>)ViewBag.ListeContacts 
相關問題