ASP.Net MVC 3 Full Name In DropDownList
- by tgriffiths
I am getting a bit confused with this and need a little help please. I am developing a ASP.Net MVC 3 Web application using Entity Framework 4.1.
I have a DropDownList on one of my Razor Views, and I wish to display a list of Full Names, for example
Tom Jones
Michael Jackson
James Brown
In my Controller I retrieve a List of User Objects, then select the FirstName and LastName of each User, and pass the data to a 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);
In my Razor View I have the following
@Html.DropDownListFor(model => model.requesterID, Model.RequestersList, "Select", new { @class = "inpt_a"})
@Html.ValidationMessageFor(model => model.requesterID)
However, when I run the code I get the following error
At least one object must implement IComparable.
I feel as if I am going about this the wrong way, so could someone please help with this?
Thanks.