4

私はMVC4で作業しています。

次のドロップダウンリスト/選択リストがあります。

@Html.DropDownList("EmployerID", String.Empty)

ViewBag.EmployerID = new SelectList(db.Employers, "EmployerID", "Name", contact.EmployerID);

このドロップダウンリスト/選択リストを「名前」でソートしたい。私は何をすべきか?

どうもありがとう!:)

4

2 に答える 2

7

OrderByあなたに追加db.Employers

@Html.DropDownList("EmployerID", String.Empty)

ViewBag.EmployerID = new SelectList(db.Employers.OrderBy(x => x.Name), 
    "EmployerID", "Name", contact.EmployerID);
于 2013-05-27T05:44:29.420 に答える
3

他の人が私と同じ問題を抱えている場合に備えて、私が思いついたこの解決策を共有すると思いました. ジェネリックを使用しているため、SelectList を作成する前にソースを注文できません。ただし、生成された SelectList を注文することはできます。メソッドが SelectList を返すようにしたかったので、順序付けられた SelectList をソースとして使用して、もう一度 SelectList() を呼び出します。:)

var orderedSelectList = new SelectList(source, "YourValueFieldName", "YourTextFieldName", selectedCode).OrderBy(i => i.Text);
return new SelectList(orderedSelectList, "Value", "Text", selectedCode);
于 2014-09-03T13:47:27.483 に答える