微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MVC / HTML.DropDownListFor /设置默认选项及其值

如何解决MVC / HTML.DropDownListFor /设置默认选项及其值

我在 ProductController 中有Productsupplierviewmodel个动作。此操作使用具有以下模型的视图:@Html.LabelFor(m => m.Product.supplier) @Html.DropDownListFor(m => m.Product.supplier.Id,new SelectList(Model.suppliers,"Id","Name"),"",new { @class = "form-control" }) (由Product和List suppliers 组成)。

在我的CSHTML中,

value="0"

但是,这样,我只将我的认选项设置为空白(通过在html helper中使用两个引号makrs)。

我需要知道的是:

  1. 如何为空白选项设置CreateProduct(Product p)
  2. 如果我们不为其指定一个,则网络是否具有认值

尝试获取0,因为在我的 DataAccessLayer 中,我有if(p.supplier.Id == 0) // from parameter { *put NULL value in this DB field* } 方法,我将在其中指定:

{{1}}

解决方法

最简单的是:

@Html.DropDownListFor(m => m.Product.Supplier.Id,new SelectList(Model.Suppliers,"Id","Name",0),"Please Select...",new { @class = "form-control" })

这将创建默认项“请选择...”。但是,必须选择不同于默认值的项目。

如果不是必须选择一个项目,则可以执行以下操作:

控制器

model.Suppliers.Insert(0,new Supplier()
{
    Id = 0,Name = "Please Select..."
});

查看

@Html.DropDownListFor(m => m.Product.Supplier.Id,new { @class = "form-control" })

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。