为什么DropDownListFor不承认在我的编辑模板选择的价值?(Why is DropDown

2019-07-28 23:32发布

我有一个名为“DropDown.cshtml”下面编辑模板。 该list部分做工精细,并且该模板使用了一些巫术我没有获得所需要SelectListViewData 。 控制器将所有选择列表视图中的模型分成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在我的编辑模板中使用时,忽略属性值,但时直接调用的正常工作?

Answer 1:

这是不幸的是一个已知的bug在MVC3(我还没有尝试过在MVC 4测试版,看看它是否固定)。

周围的工作,我用的是手动设置选择的属性相应地,该DropDownListFor势必集合,它是不理想,但它的工作。



文章来源: Why is DropDownListFor not recognizing the selected value in my editor template?