MVC 下拉列表对于由于属性名称而未绑定的选定项
本文关键字:绑定 下拉列表 于属性 MVC 属性 | 更新日期: 2023-09-27 18:33:02
我发现了一个小的边缘情况,当 DropDownListFor 不会将视图模型中的值绑定到列表时。
下面的代码不会绑定该值。
视图模型
public class PersonViewModel
{
[Required]
public Title? Title { get; set; }
public IEnumerable<SelectListItem> TitleSelectList { get; set; }
}
控制器
public ActionResult Person()
{
return View(
new PersonViewModel
{
Title = Title.Mrs,
TitleSelectList = EnumHelper.GetSelectList(typeof(Title)),
});
}
视图
@Html.DropDownListFor(model => model.Title, Model.TitleSelectList, "Please select...", new { @class = "form-control" })
更改属性名称可以解决此问题。
将视图模型更改为public Title? TitleTesting { get; set; }
并更新代码的其余部分以匹配它将起作用。
我很想知道这是一个错误还是保留字。