Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 尝试获取下拉列表中显示的数据_C#_Asp.net Mvc_Razor_Html Helper - Fatal编程技术网

C# 尝试获取下拉列表中显示的数据

C# 尝试获取下拉列表中显示的数据,c#,asp.net-mvc,razor,html-helper,C#,Asp.net Mvc,Razor,Html Helper,我在网上尝试了很多不同的解决方案,但是我没有找到任何能够正确实现我所寻找的解决方案的解决方案 我想组合一个表的两个属性,它们是FirstName和LastName,然后我想将这些耦合的属性显示为dropdownlist,供用户选择。我也尝试过使用SelectListItem,但这只会导致错误,我无法编译 到目前为止,我的解决方案包括: 在我的控制器中: var data = from p in db.Contacts se

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

我想组合一个表的两个属性,它们是FirstName和LastName,然后我想将这些耦合的属性显示为dropdownlist,供用户选择。我也尝试过使用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 }

任何帮助都将不胜感激。

您需要将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");
使用上面的代码,您将实现所需的功能


但是,请阅读以下关于如何更好地使用下拉列表的答案:

能否显示在
ViewBag.Names中设置值的代码行?
?当然,选择列表personList之后的代码行。。。。。ViewBag.Names=个人列表;