1

我在尝试验证下拉列表时遇到问题,我在这里查看了类似的问题并尝试了这些建议,但仍然没有运气。我没有尝试过的一个是让我的福利 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)
4

1 回答 1

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,这将是一个必填字段。

于 2012-12-30T21:28:39.117 回答