我有以下名为“DropDown.cshtml”的编辑器模板。该list
部分工作正常,模板使用了一些我SelectList
从ViewData
. 控制器将视图模型中的所有选择列表放入 中ViewData
,列表方面没有任何问题。
@{
var list = this.GetModelSelectList();
}
@Html.DropDownListFor(m => Model, list)
我在像这样的外键视图模型属性上使用这个模板:
[Required]
[UIHint("DropDown", "MVC", "SelectListName", "JobLevelSelectList")]
[Display(Name = "Job Level")]
public Guid? JobLevelId { get; set; }
public SelectList JobLevelSelectList { get; set; }
在控制器中,在执行视图之前立即具有正确的值,但在呈现的元素JobLevelId
中没有选择项目。select
或者更确切地说,选择列表中的第一项始终被选中。
为什么DropDownListFor
在我的编辑器模板中使用时会忽略属性值,而直接调用时却可以正常工作?