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 回答