私はこれで少し混乱しており、少し助けが必要です. Entity Framework 4.1 を使用して ASP.Net MVC 3 Web アプリケーションを開発しています。
Razor ビューの 1 つに DropDownList があり、フル ネームのリストを表示したい、たとえば
Tom Jones
Michael Jackson
James Brown
私のコントローラーでは、ユーザー オブジェクトのリストを取得し、各ユーザーの FirstName と LastName を選択して、データを 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);
私のRazor Viewには次のものがあります
@Html.DropDownListFor(model => model.requesterID, Model.RequestersList, "Select", new { @class = "inpt_a"})
@Html.ValidationMessageFor(model => model.requesterID)
ただし、コードを実行すると、次のエラーが発生します
少なくとも 1 つのオブジェクトが IComparable を実装する必要があります。
私はこれを間違った方法で行っているように感じます。誰かがこれを手伝ってくれませんか?
ありがとう。