Asp.net mvc 3 第四个参数,为什么MVC 3 SelectList不预先选择一个选项?

Asp.net mvc 3 第四个参数,为什么MVC 3 SelectList不预先选择一个选项?,asp.net-mvc-3,Asp.net Mvc 3,我正在尝试使用SelectList重载 在控制器中: 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)

我正在尝试使用SelectList重载

在控制器中:

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集合中的一个实例

第四个参数应该是MyObjList中对象的实例吗?要使其正常工作,我缺少什么?

您正在传入.Name,它是选择列表的文本属性。改为使用.Code-Value属性