我在尝试验证下拉列表时遇到问题,我在这里看了类似的问题并尝试了建议,但仍然没有运气。我没有尝试的是让我的福利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)
答案 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,它将是必填字段。