Html.DropDownList - 如何将额外的<option>添加到列表中

Chr*_*ris 8 html c# forms asp.net asp.net-mvc

我正在使用Html.DropDownList这样创建一个选项列表

Html.DropDownList("LogType", new SelectList(Model.LogTypeList, "ID", "Name", Model.SelectedLogType),"-- ALL --");
Run Code Online (Sandbox Code Playgroud)

如你所见,我传入一个列表,但也传入一个额外的参数来添加一个额外的选项:"-- All --".结果如下:

<select name="LogType" id="LogType">
<option value="">-- ALL -- </option>
<option value="1">Debug</option>
<option value="2" selected="selected">Error</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如何在-- All --不必手动构建下拉列表的情况下给出值0?

Moh*_*lam 6

我不确定但是,为什么不在你之前构建清单 @html.DropDownList

var myList = new SelectList(Model.LogTypeList, "ID", "Name", Model.SelectedLogType);
Run Code Online (Sandbox Code Playgroud)

然后将所需的项目附加到其中.

var myList.add(new selectItem("-- ALL --",0));
Run Code Online (Sandbox Code Playgroud)

最后将它传递给你的语法,看看会产生什么结果

Html.DropDownList("LogType",myList);
Run Code Online (Sandbox Code Playgroud)

对不起,这是使用我的iPhone的快速回答,不确定它是否能解决您的问题,但我尽可能多地帮助.