我有一个由ViewBag元素填充的以下下拉列表:
@Html.DropDownList("SelectedRole", ViewBag.Roles as List<SelectListItem>, new { @class = "form-control" })
目前,在页面加载时,会显示角色列表的第一个元素,但我想将其默认为无选择(页面加载时下拉列表应为空白)。我的尝试是在jQuery中,如下所示,但它对下拉默认选择没有任何影响(仍显示角色的第一个元素):
$("#SelectedRole").prop("selectedIndex", -1);
有没有办法在Razor中设置默认值?如果没有,通过其他方式?
谢谢。
答案 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>