0

SelectList オーバーロードを使用しようとしています

SelectList(IEnumerable, 文字列, 文字列, オブジェクト)

コントローラーで:

List<MyObj> MyObjList;
MyObj mySel = (from o in MyObjList where o.Name == selectedName select c)
              .SingleOrDefault();

// Variant A:
var list = new SelectList(TENANTS, "Code", "Name", (object)(mySel.Name));

// Variant B:
var list = new SelectList(TENANTS, "Code", "Name", (object)(mySel));
ViewBag.ListForDropdown = list;

ビューで:

var list = (List<MyObj>)ViewBag.ListForDropdown;
@Html.DropDownListFor(model => model.PropOfTypeMyObject, list, "--- Select One ---")

DropDownList は正しくレンダリングされますが、値が選択されていません。コレクションmySelからのインスタンスであるデバッガーで確認しました。MyObjList

4 番目のパラメーターは、にあるオブジェクトのインスタンスであるはずMyObjListですか? これを機能させるために何が欠けていますか?

4

1 に答える 1

1

.Nameこれは、選択リストの Text プロパティです。代わりに使用.Codeしてください - Value プロパティ。

于 2012-06-11T22:09:01.207 に答える