Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Html.DropDownList-如何添加额外的<;选项>;列出_C#_Asp.net_Html_Asp.net Mvc_Forms - Fatal编程技术网

C# Html.DropDownList-如何添加额外的<;选项>;列出

C# Html.DropDownList-如何添加额外的<;选项>;列出,c#,asp.net,html,asp.net-mvc,forms,C#,Asp.net,Html,Asp.net Mvc,Forms,我正在使用Html.DropDownList创建这样的选项列表 Html.DropDownList("LogType", new SelectList(Model.LogTypeList, "ID", "Name", Model.SelectedLogType),"-- ALL --"); 正如您所看到的,我传入了一个列表,但也传入了一个额外的参数以添加一个额外的选项:“--All--”。结果如下: <select name="LogType" id="LogType"> <

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

Html.DropDownList("LogType", new SelectList(Model.LogTypeList, "ID", "Name", Model.SelectedLogType),"-- ALL --");
正如您所看到的,我传入了一个列表,但也传入了一个额外的参数以添加一个额外的选项:
“--All--”
。结果如下:

<select name="LogType" id="LogType">
<option value="">-- ALL -- </option>
<option value="1">Debug</option>
<option value="2" selected="selected">Error</option>
</select>

--全部--
调试
错误

我如何给
--All--
一个值0,而不必自己手动构造下拉列表?

我以前尝试过这样做,最后使用jQuery:

$("#LogType").append($("<option />").val("0").html("-- All --"));
$(“#LogType”).append($(“”).val(“0”).html(“--All--”);

我不确定,但是,为什么不在
@html.DropDownList

var myList = new SelectList(Model.LogTypeList, "ID", "Name", Model.SelectedLogType);
然后将所需的项目附加到它

var myList.add(new selectItem("-- ALL --",0));
最后将其传递给语法,看看结果如何

Html.DropDownList("LogType",myList);

很抱歉,这是一个使用我的iPhone的快速回答,不确定它是否能解决您的问题,但我尽我所能提供了帮助。

只是为了另一种方法,我很惊讶论坛上有这么多关于同一问题的答案,所有这些看起来都过于复杂,因为在带有AppendDataItems的WebForms中很容易实现(当然,这是WebForms!)

这在几分钟前对我很有效,使所有内容保持在线,并将视图和模型关注点分开:

@Html.DropDownListFor(model => model.Operators,
                new SelectList(new[] { 
                    new {id=-1, name="Please select an operator"}}
                    .Union(Model.Operators
                            .Select( o=> new { id=o.Id, name=o.Name})
                    ), "id", "name")) 
其呈现为:

<select id="Operators" name="Operators">
    <option value="-1">Please select an operator</option>
    <option value="1">Tony Bolton</option>
    <option value="2">Joe Bloggs</option>
</select>

请选择一个操作员
托尼·博尔顿
乔·布洛格斯
虽然没有检查性能等,但觉得值得分享。

这已在可能的副本中得到回答