【问题标题】:Set custom text field in SelectList在 SelectList 中设置自定义文本字段
【发布时间】:2011-06-26 08:02:01
【问题描述】:

我正在尝试在我的视图页面上显示一个具有自定义文本值的下拉菜单。

我正在尝试显示一个联系人列表。联系人包含 ContactID、FirstName 和 LastName。

<%= Html.DropDownListFor(m => m.ContactId, new SelectList(Model.Contacts, "ContactID", "LastName"), "- Select a Contact -") %>

现在我只显示姓氏,但我想在下拉列表中显示名字和姓氏。

【问题讨论】:

    标签: c# asp.net asp.net-mvc


    【解决方案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 -") %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2016-05-09
      相关资源
      最近更新 更多