ASP.Net MVC 3 Full Name In DropDownList

Posted by tgriffiths on Stack Overflow See other posts from Stack Overflow or by tgriffiths
Published on 2012-09-26T09:34:58Z Indexed on 2012/09/26 9:37 UTC
Read the original article Hit count: 444

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.

© Stack Overflow or respective owner

Related posts about c#

Related posts about asp.net-mvc-3