C# DropDownList中的ASP.NETMVC3全名
我对此感到有点困惑,需要一些帮助。我正在使用EntityFramework4.1开发一个ASP.NETMVC3Web应用程序 例如,我的一个Razor视图上有一个下拉列表,我希望显示一个全名列表C# DropDownList中的ASP.NETMVC3全名,c#,asp.net-mvc-3,linq-to-entities,selectlist,html.dropdownlistfor,C#,Asp.net Mvc 3,Linq To Entities,Selectlist,Html.dropdownlistfor,我对此感到有点困惑,需要一些帮助。我正在使用EntityFramework4.1开发一个ASP.NETMVC3Web应用程序 例如,我的一个Razor视图上有一个下拉列表,我希望显示一个全名列表 Tom Jones Michael Jackson James Brown 在控制器中,我检索用户对象列表,然后选择每个用户的名字和姓氏,并将数据传递给SelectList List<User> Requesters = _userService.GetAllUsersByTypeID
Tom Jones
Michael Jackson
James Brown
在控制器中,我检索用户对象列表,然后选择每个用户的名字和姓氏,并将数据传递给SelectList
List<User> Requesters = _userService.GetAllUsersByTypeIDOrgID(46, user.organisationID.Value).ToList();
var RequesterNames = from r in Requesters
let person = new { UserID = r.userID, FullName = new { r.firstName, r.lastName } }
orderby person.FullName ascending
select person;
viewModel.RequestersList = new SelectList(RequesterNames, "UserID", "FullName");
return View(viewModel);
但是,当我运行代码时,我得到以下错误
必须至少有一个对象实现IComparable
我觉得我好像走错了路,有人能帮我吗
谢谢。在您的LINQ查询中
全名应该这样声明,否则EF不知道如何对您创建的匿名对象进行排序:
FullName = r.firstName + " " + r.lastName
例如:
var RequesterNames =
from r in Requesters
let person = new { UserID = r.userID, FullName = r.firstName + " " + r.lastName }
orderby person.FullName ascending
select person;
在LINQ查询中,应该这样声明全名,否则EF不知道如何对您创建的匿名对象进行排序:
FullName = r.firstName + " " + r.lastName
例如:
var RequesterNames =
from r in Requesters
let person = new { UserID = r.userID, FullName = r.firstName + " " + r.lastName }
orderby person.FullName ascending
select person;
杰出的谢谢你的帮助,太好了。谢谢你的帮助。