如何默认Html.DropDownList没有选择?

时间:2016-09-09 18:29:12

标签: javascript jquery html asp.net razor

我有一个由ViewBag元素填充的以下下拉列表:

@Html.DropDownList("SelectedRole", ViewBag.Roles as List<SelectListItem>, new { @class = "form-control" })

目前,在页面加载时,会显示角色列表的第一个元素,但我想将其默认为无选择(页面加载时下拉列表应为空白)。我的尝试是在jQuery中,如下所示,但它对下拉默认选择没有任何影响(仍显示角色的第一个元素):

$("#SelectedRole").prop("selectedIndex", -1);

有没有办法在Razor中设置默认值?如果没有,通过其他方式?

谢谢。

2 个答案:

答案 0 :(得分:2)

使用此语法

@Html.DropDownList("SelectedRole", ViewBag.Roles as List<SelectListItem>,"", new { @class = "form-control" })

注意:我在语法中添加了"" ..这将是下拉列表中的第一个选项。希望这会有所帮助..

答案 1 :(得分:1)

您可以向控制器中的Roles添加空角色。 否则你可以像下面这样实现这个客户端:

$(function(){
     $('#SelectedRole').append( new Option("",-1,true,true) );
});

$(function(){
    $('#SelectedRole').append( new Option("",-1,true,true) );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="SelectedRole">
    <option val="1">Red</option>
    <option val="2">Green</option>
    <option val="3">Blue</option>
 </select>