C# 为什么我选择的值在下拉列表(asp.net mvc)中显示两次
我有一个asp.net mvc视图,其中包含以下代码以显示下拉列表:C# 为什么我选择的值在下拉列表(asp.net mvc)中显示两次,c#,asp.net-mvc,drop-down-menu,C#,Asp.net Mvc,Drop Down Menu,我有一个asp.net mvc视图,其中包含以下代码以显示下拉列表: <% = Html.DropDownList("filter", Model.MyList, Model.MyDefaultValue, new { @id = "filter", @class = "complete" })%> Model.MyList是一个列表,其中包含我的项目,顶部有一个空白项目,模型为。MYDefaultValue是一个字符串 当我运行这个程序时,它看起来很有效,但我会两次列出我的
<% = Html.DropDownList("filter", Model.MyList, Model.MyDefaultValue, new { @id = "filter", @class = "complete" })%>
Model.MyList是一个列表,其中包含我的项目,顶部有一个空白项目,模型为。MYDefaultValue是一个字符串
当我运行这个程序时,它看起来很有效,但我会两次列出我的默认值
让我们假设我的清单是:
福特丰田
雪佛兰 我的默认值是丰田 当我单击下拉列表时,我得到: 丰田 福特
丰田
雪佛兰
您可以看到Toyota被添加为第一项和第四项。Html.DropDownList()方法接受一个optionLabel字符串参数,该参数的文本插入到下拉列表的顶部(带有空值)。它不一定与选择列表中的哪个项目有关
您可以使用MyList创建一个
SelectList
,并在将其传递给Html.DropDownList()
之前指定一个所选值(请参见),只需猜测一下:“default”是第一个值。不是选定的值。(因此,我假设您实际上正在设置第一个值,并且可能有一个单独的选定属性可以在控件中设置)@DA-您是正确的。为什么把你的回答放在评论里而不是答案里