0
DropDownListFor가 viewmodel의 값을 목록에 바인딩하지 않을 때를 대비 한 작은 경우를 발견했습니다.MVC DropDownList 속성 이름으로 인해 바인딩되지 않은 항목이 선택되었습니다.
아래 코드는 값을 바인딩하지 않습니다.
뷰 모델
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" })
[이 답변] (http://stackoverflow.com/a/26905905/1199711)을 확인하십시오. – Zabavsky
'ViewBag.Title'과 충돌 할 수 있습니다. –