在 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 中设置自定义文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Django 会话模型中设置自定义字段?

使用默认消息在快速响应中设置自定义状态文本?

如何在使用集合处理器在摄取节点管道中设置自定义索引时解析字段

如何在 Bootstrap 4 和 Sass 中设置自定义按钮文本颜色?

在 Google Maps api v2 中设置自定义 InfoWindow 的宽度

如何在 ActionBar 标题中设置自定义字体?