在我看来,我有这个下拉列表(实际上我有很多这样的循环)
@Html.DropDownListFor(m => m.SelectedAttributeValueIds[i], Model.AttributeValuesList[Convert.ToInt32(type.Value)], "Select a value")
模型的相关部分是
public IDictionary<int, List<SelectListItem>> AttributeValuesList { get; set; }
public List<int> SelectedAttributeValueIds { get; set; }
上面的下拉列表包含正确的值列表。如果我选择其中一个值并提交,则选择的值会正确发布并正确保存到 SelectedAttributeValueIds 列表中。
现在的问题是,如果我不从这些下拉列表中的一个或多个中选择一个值,我的 ModelState.IsValid 在我的 post action 方法中为 false。查看错误列表,原因是
“需要一个数值”
为什么下拉菜单是强制性的?我希望它们是可选的。
有任何想法吗?
谢谢,
萨钦