【问题标题】:Trying to get data shown in a drop down list试图获取下拉列表中显示的数据
【发布时间】:2015-05-14 19:56:31
【问题描述】:

我在网上尝试了很多不同的解决方案,但我无法找到任何解决方案来正确实现我正在寻找的解决方案。

我想组合一个表的两个属性,即 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 }

任何帮助将不胜感激。

【问题讨论】:

  • 你能显示在ViewBag.Names中设置值的代码行吗?
  • 没错,SelectList personList 后面的那一行..... ViewBag.Names = personList;

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


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 2021-10-19
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多