我在asp.net mvc中有以下设置下拉列表
@Html.DropDownListFor(model => model.DataId, ((IEnumerable<ProgrammeModel>)ViewBag.Data).Select(option => new SelectListItem
{
Text = (option == null ? "None" : option.Name),
Value = option.DataId.ToString(),
Selected = (Model != null) && (option.DataId== Model.DataId)
}), "Choose...", new { Class = "input", id = "DataId"
})
在模特中:
[Required(ErrorMessage="The Data field is required.")]
public int DataId { get; set; }
但是当在表单提交上进行验证时,我收到此字段的错误消息
需要Int32字段。
我希望结果为
数据字段是必需的
答案 0 :(得分:1)
@Html.DropDownListFor(model => model.DataId,
new SelectList(ViewBag.Data as System.Collections.IEnumerable,
"DataId", "Name"), "Choose")
答案 1 :(得分:0)
我遇到了同样的问题,似乎在控制器中你有ViewBag.DataId,它会导致验证混乱。 请尝试删除它,让我知道现在是否正常。
谢谢, 迪米塔尔