use*_*675 11 asp.net-mvc selectlist html.dropdownlistfor razor asp.net-mvc-3
我正在返回一些存储的联系人来查看DropDownList,我无法在我的SelectList中包含多个dataTextFields.
目前我有:
@Html.DropDownListFor(model => model.Account.AccountContacts,
new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FirstName"),
new { @class = "select", style = "width: 100px;" })
Run Code Online (Sandbox Code Playgroud)
我想拥有:
@Html.DropDownListFor(model => model.Account.AccountContacts,
new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FullName"),
new { @class = "select", style = "width: 100px;" })
Run Code Online (Sandbox Code Playgroud)
它结合了FirstName和LastName属性.
更新:我知道扩展联系人属性,我很好奇是否有一种简化的方法来在视图或控制器中完成此操作.我在这里尝试了两种解决方案无济于事.如何在SelectList文本描述中组合两个字段?
Ant*_*yrd 24
扩展联系
public partial class Contact
{
private string _nameFull;
public string NameFull
{
get{return FirstName + " " + LastName;}
}
}
Run Code Online (Sandbox Code Playgroud)
mam*_*owv 10
我意识到这个问题有一个经过批准的答案,但我不相信这是提问者想要的.我遇到了这个问题,这就是我解决它的方法:
@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;" })
Run Code Online (Sandbox Code Playgroud)
这 是如何工作的:我们使用linq从列表中选择特定数据并将其放入我们的新对象中.这个新对象只包含两个属性,'ID_Value'和'FullName'.现在我们的DropDownListFor可以使用这个新对象来实现我们想要的输出.
归档时间: |
|
查看次数: |
16733 次 |
最近记录: |