在下拉列表中显示两个属性

时间:2011-02-01 22:19:53

标签: asp.net-mvc asp.net-mvc-2

数据库表

语言

  • languageID(主键)
  • 语言
<%: Html.DropDownList("SprakID", new SelectList(ViewData["Sprak"] as IEnumerable, "languageID", "language", Model.languageID))%>

目标:
显示语言的名称以及DropDownList中的languageID。

问题:
不知道如何在下拉列表中显示语言和语言ID?

2 个答案:

答案 0 :(得分:4)

向您的语言类添加属性,例如

 public string DataTextFieldLabel
    {
        get
        {
            return string.Format("{0} ({1})", language, languageId);
        }
    }

现在将它用于dataTextField

<%: Html.DropDownList("SprakID", new SelectList(ViewData["Sprak"] as IEnumerable, "languageID", "DataTextFieldLabel", Model.languageID))%>

答案 1 :(得分:2)

DropDownLists只有DataValueField和DataTextField属性,所以我能想到的一件事是创建一个只读属性,它结合了语言的名称和ID,格式化你想要的方式,并使用DropDownList对于DataTextField。