尝试将数据显示在下拉列表中

时间:2015-05-14 19:56:32

标签: c# asp.net-mvc razor html-helper

我在网上尝试了很多不同的解决方案,但我还没有找到任何能够正确实现我正在寻找的解决方案的解决方案。

我想组合表的两个属性,即FirstName和LastName,然后我想将这些耦合属性显示为下拉列表供用户选择。我也尝试过使用SelectListItem,但这只会导致错误而我无法编译。

到目前为止,我的解决方案涉及到:

在我的控制器中:

     var data = 
            from p in db.Contacts
                   select new 
                   {
                      FirstName = p.FirstName,
                      LastName = p.LastName

                   };
        SelectList personList = new SelectList(data, "FirstName", "LastName");

在我的观点中:

@Html.DropDownList("ContactName", (SelectList)ViewBag.Names)

这是一个下拉列表,其中包含以下格式的选项:

{ FirstName = Joe, LastName = Bloggs }

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您需要将2字段连接成一个字段。

var data = 
            from p in db.Contacts
                   select new 
                   {
                      Name = p.FirstName + " " + p.LastName,
                      Id = p.IdContact
                   };
        SelectList personList = new SelectList(data, "Id", "Name");

使用上面的代码,您将获得所需的一切。

但请阅读以下有关如何更好地使用DropDownLists的答案:https://stackoverflow.com/a/20008816/7720