MVC DropDownList中的默认选项

时间:2017-01-28 14:08:58

标签: asp.net-mvc

我想在我的页面上选择一个HTML元素来显示付款方式的选择。除了billers的选项,我想在select元素中显示默认选项"Select"。我正在使用DropDownListFor的Html助手,如下所示:

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers,
                   "BillerId", "BillerName", "Select"), new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.BillerId, "", new { @class = "text-danger" })

我得到的HTML输出如下:

<select class="form-control valid" data-val="true" data-val-number="The field BillerId must be a number." id="BillerId" name="BillerId">
    <option value="1">Idea</option>
    <option value="2">Airtel</option>
</select>

默认值选择未显示。如果我误会了,请告诉我。

2 个答案:

答案 0 :(得分:2)

根据您的问题,)位于错误的位置。

你有什么:

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers,
               "BillerId", "BillerName", "Select"), new { @class = "form-control" })

需要做什么:

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers,
               "BillerId", "BillerName"),"Select", new { @class = "form-control" })

这会将"Select"字符串放在与重载的DropDownListFor方法相关的正确位置...特别是optionLabel参数。

我希望这有帮助!

答案 1 :(得分:1)

selectList之后有一个名为optionLabel的字符串参数,如下所示。

@Html.DropDownListFor(m => m.BillerId, new SelectList(Model.Billers,
                   "BillerId", "BillerName"), "Select", new { @class = "form-control" })