在 SelectList 中设置自定义文本字段
Posted
技术标签:
【中文标题】在 SelectList 中设置自定义文本字段【英文标题】:Set custom text field in SelectList 【发布时间】:2011-06-26 08:02:01 【问题描述】:我正在尝试在我的视图页面上显示一个具有自定义文本值的下拉菜单。
我正在尝试显示一个联系人列表。联系人包含 ContactID、FirstName 和 LastName。
<%= html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "LastName"), "- Select a Contact -") %>
现在我只显示姓氏,但我想在下拉列表中显示名字和姓氏。
【问题讨论】:
【参考方案1】:我一直在寻找相同的问题,而您的问题是谷歌的第一个结果。我知道您大约在一年前问过,但对于所有其他会找到此页面的人:
Html.DropDownListFor(m => m.ContactId,
new SelectList(
Model.Contacts.Select(
c => new
Id = c.ContactId,
FullName = c.FirstName + " " + c.LastName
),
"Id",
"FullName"))
就我而言,我无法更改“联系人”类。
【讨论】:
+1 这就是我过去的做法,效果很好。 几乎相同的代码在服务器端也像老板一样工作。谢谢@sickbattery【参考方案2】:更改您的联系人类别,添加属性:
public class Contact
public string FirstNameLastName get return FirstName + " " + LastName;
然后使用它:
<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "FirstNameLastName"), "- Select a Contact -") %>
【讨论】:
以上是关于在 SelectList 中设置自定义文本字段的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用集合处理器在摄取节点管道中设置自定义索引时解析字段
如何在 Bootstrap 4 和 Sass 中设置自定义按钮文本颜色?