Viewmodel中的ASP.NET MVC SelectList未填充SelectedItem

时间:2014-05-19 17:27:42

标签: c# asp.net-mvc viewmodel

我有一个为视图定义了多个SelectLists的viewmodel,我试图为常用的东西创建共享的SelectLists,比如状态列表。当填充viewmodel中的SelectList时,我可以看到正确设置了SelectedItem,但它没有在视图中填充。

在viewmodel中:

[Display(Name = "State")]
public int StateID { get; set; }

public SelectList States { get; set; }

在控制器中:

staff.States = StatesMenu(db.TenantRepos.StateID); //setting default value

的SelectList:

public static SelectList StatesMenu(int? selected)
    {
        SelectList _states = new SelectList(db.States.OrderBy(o => o.Code).Select(x => new StateMenuVM { ID = x.ID, Code = x.Code }), "ID", "Code", selected);
        return _states;
    }

查看:

@Html.DropDownListFor(m => m.StateID, Model.States)

因此,当我运行视图时,选择列表没有选定的项目。如果我手动执行此操作,则所选项目显然有效:

staff.StateID = db.TenantRepos.StateID;

我很困惑为什么SelectList没有被选中的项目创建,因为我在新的SelectList中设置了该值,并且它正确地通过了staff.States。

提前感谢您的帮助。

0 个答案:

没有答案