Asp.net-Mvc
如何使用 @Html.DropDownListFor 在 asp.net MVC 3 中為 SelectList 描述組合兩個 dataTextFields
我正在返回一些儲存的聯繫人以查看 DropDownList,但我無法在我的 SelectList 中包含多個 dataTextField。
目前我有:
@Html.DropDownListFor(model => model.Account.AccountContacts, new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FirstName"), new { @class = "select", style = "width: 100px;" })我想擁有:
@Html.DropDownListFor(model => model.Account.AccountContacts, new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FullName"), new { @class = "select", style = "width: 100px;" })它結合了 FirstName 和 LastName 屬性。
更新:我知道擴展聯繫人屬性,我很好奇是否有一種簡化的方法可以在視圖或控制器中完成此操作。我在這裡嘗試了兩種解決方案均無濟於事。如何在 SelectList 文本描述中組合兩個欄位?
擴大聯繫
public partial class Contact { private string _nameFull; public string NameFull { get{return FirstName + " " + LastName;} } }
我意識到這個問題有一個認可的答案,儘管我不相信這是提問者想要的。我遇到了這個問題,這就是我解決它的方法:
@Html.DropDownListFor(model => model.Account.AccountContacts, new SelectList((from c in ViewBag.DDContacts.ToList() select new { ID_Value = c.Contact.ContactID, FullName = c.Contact.FirstName + " " + c.Contact.LastName }), "ID_Value", "FullName"), new { @class = "select", style = "width: 100px;" })工作原理: 我們使用 linq 從列表中選擇特定數據並將其放入新對像中。這個新對象將只包含兩個屬性,“ID_Value”和“FullName”。現在我們的 DropDownListFor 可以使用這個新對象來實現我們想要的輸出。