验证MVC4的下拉列表

时间:2012-12-30 19:23:35

标签: asp.net asp.net-mvc asp.net-mvc-4

我在尝试验证下拉列表时遇到问题,我在这里看了类似的问题并尝试了建议,但仍然没有运气。我没有尝试的是让我的福利ID可以为空,但这是个好主意吗?非常感谢

模型我正在尝试验证:

public class Benefit
{
public int Id { get; set; }
public string Name { get; set; }


}

查看型号:

public class LookupVm
{
    public SelectList Benefits { get; set; }
}

控制器设置:

var model = new LookupVm
{

    Benefits = new SelectList(_repository.Benefits.OrderBy(n => n.Name).ToList(), "Id", "Name")
}

观点:

        @Html.DropDownListFor(benefits => Model.Benefits.SelectedValue, Model.Benefits, "-Select-")
        @Html.ValidationMessageFor(benefits => Model.Benefits.SelectedValue)

1 个答案:

答案 0 :(得分:2)

您可以在查看模型

时添加SelectedBenefit属性
public class LookupVm
{
    public int SelectedBenefit { get; set;}
    public SelectList Benefits { get; set; }
}

然后在视图顶部添加

@model LookupVm

然后下拉列表必须是这样的:

@Html.DropDownListFor(model => model.SelectedBenefit, model.Benefits, "-Select-")
@Html.ValidationMessageFor(model => model.SelectedBenefit)

您将在SelectedBenefit属性中获取所选的ID,它将是必填字段。