ASP.net MVC验证问题

时间:2012-03-09 10:59:53

标签: asp.net-mvc-3

我在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字段。

我希望结果为

数据字段是必需的

2 个答案:

答案 0 :(得分:1)

@Html.DropDownListFor(model => model.DataId,
                      new SelectList(ViewBag.Data as System.Collections.IEnumerable,
                      "DataId", "Name"), "Choose")

答案 1 :(得分:0)

我遇到了同样的问题,似乎在控制器中你有ViewBag.DataId,它会导致验证混乱。 请尝试删除它,让我知道现在是否正常。

谢谢, 迪米塔尔