-1

我正在开发一个使用MVC 5.0的项目,我的代码是这样的。过滤一个MVC下拉列表选择默认值

<div class="form-group"> 
        @Html.LabelFor(model => model.IsActive, "Status", new { @class = "control-label col-md-3 col-md-offset-1" }) 
        <div class="col-md-5"> 
         @Html.EditorFor(model => model.IsActive, new { htmlAttributes = new { @class = "form-control" } }) 
         @Html.ValidationMessageFor(model => model.IsActive) 
        </div> 
       </div> 

它工作正常,但问题是它增加了一个额外的值'未设置'以及值'true'和'false'。如何从下拉列表中筛选“未设置”值。

感谢 Utpal

+1

你不能。你为默认的实现'nullable bool'创建'EditorFor()'方法 - 如果你不想允许'null' - 将属性改为'bool'并使用@@ Html.CheckboxFor(model.IsActive )' –

+0

您的IsActive列是否可以保留空值?这通常创建'未设置' – Emil

+0

@Emil是它是由实体框架生成的可空列。那么我的问题的出路是什么? – Utpal

回答

0
<%= Html.DropDownList(
    model => model.IsActive, 
    new SelectList(
     new[] 
     { 
      new { Value = "true", Text = "Yes" }, 
      new { Value = "false", Text = "No" }, 
     }, 
     "Value", 
     "Text", 
     Model 
    ) 
) %> 

试试这个

尝试,并为IsActive的默认值在你的行动