asp.net-mvc – 在DropDownList中验证所需的选择

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 在DropDownList中验证所需的选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的视图模型定义了必须显示为组合框的属性属性定义是:
[required]
public int Processor { get; set; }

我使用DropDownListFor渲染组合框:

<%=Html.DropDownListFor(r => r.Processor,Model.Processors,Model.Processor)%>

Model.Processors包含IEnumerable< SelectListItem>一个特殊项目定义为:

var noSelection = new SelectListItem
  {
    Text = String.Empty,Value = "0"
  };

现在我需要添加验证到我的组合框,以便用户必须选择不同的值,然后’noSelection’。我希望对requiredAttribute进行一些配置,但是它没有默认值设置。

解决方法

这个怎么样:
[required]
public int? Processor { get; set; }

接着:

<%= Html.DropDownListFor(
    x => x.Processor,"-- select processor --"
) %>

并在您的POST操作

[HttpPost]
public ActionResult Index(Myviewmodel model)
{
    if (ModelState.IsValid)
    {
        // the model is valid => you can safely use model.Processor.Value here:
        int processor = model.Processor.Value;
        // TODO: do something with this value
    }
    ...
}

现在您不再需要手动添加noSelection项目。只需使用正确的DropDownListFor超载。

原文链接:/aspnet/252581.html

猜你在找的asp.Net相关文章