C# MVC/HTML.DropDownListFor/making默认选项及其值
我在ProductController中执行了C# MVC/HTML.DropDownListFor/making默认选项及其值,c#,asp.net-mvc,visual-studio,html-helper,C#,Asp.net Mvc,Visual Studio,Html Helper,我在ProductController中执行了CreateForm操作。此操作使用模型视图:ProductSupplierViewModel(由产品和供应商列表组成) 在我的CSHTML中,我有 @Html.LabelFor(m => m.Product.Supplier) @Html.DropDownListFor(m => m.Product.Supplier.Id, new SelectList(Model.Suppliers, "Id", "Na
CreateForm
操作。此操作使用模型视图:ProductSupplierViewModel
(由产品和供应商列表组成)
在我的CSHTML中,我有
@Html.LabelFor(m => m.Product.Supplier)
@Html.DropDownListFor(m => m.Product.Supplier.Id, new SelectList(Model.Suppliers, "Id", "Name"), "", new { @class = "form-control" })
但是,通过这种方式,我只将默认选项设置为空白(通过在HTMLHelper中使用两个引号)
我需要知道的是:
value=“0”
设置为该空白选项CreateProduct(Product p)
方法,其中我将指定:
if(p.Supplier.Id == 0) // from parameter
{
*put NULL value in this DB field*
}
最简单的是:
@Html.DropDownListFor(m=>m.Product.Supplier.Id,
新的选择列表(Model.Suppliers,“Id”,“Name”,0),
“请选择…”,
新的{@class=“表单控制”})
这将创建一个默认项“请选择…”。但是,必须选择与默认值不同的项目
如果选择项目不是强制性的,则可以执行以下操作:
控制器
model.Suppliers.Insert(0,新供应商()
{
Id=0,
Name=“请选择…”
});
查看
@Html.DropDownListFor(m=>m.Product.Supplier.Id,
新的选择列表(Model.Suppliers,“Id”,“Name”,0),
新的{@class=“表单控制”})