将选择限制为单一选择listboxFor-MVC 2

Nul*_*ter 4 listbox asp.net-mvc-2

我使用以下代码生成列表框..

    <%: Html.ListBoxFor(m => m.Subscribers, new List<SelectListItem>(), new { @class = "list_style_Wizard" })%>
Run Code Online (Sandbox Code Playgroud)

但是我们可以从列表框中选择多个项目.如何将其限制为单个选择???

Gle*_*enn 10

该HTML佣工DropDownListForListBoxFor似乎添加multiple属性为列表框渲染时.我使用DropDownListFor/ ListBoxFor和jQuery livequery选择器的组合来删除multiple属性.在Razor中使用:

@Html.DropDownListFor(m => m.SelectedId, Model.SelectList, 
    new { size = 10, @class = "selectOneListBox" })
Run Code Online (Sandbox Code Playgroud)

在JavaScript中:

$(".selectOneListBox").livequery(function () {
    $(this).removeAttr('multiple');
});
Run Code Online (Sandbox Code Playgroud)

我相信你也可以编写自己版本的HTML帮助程序,它不会吐出multiple属性.

  • 不再建议使用Livequery.因此,最好在加载页面时删除该属性:$(document).ready(function(){$(".selectOneListBox").removeAttr('multiple');}); (4认同)

Dav*_*enn 6

Html.ListBoxFor用于呈现多选列表框.供单选使用 Html.DropDownListFor

<%: Html.DropDownListFor(m => m.Subscribers, listOfsubscribers, new { @class = "list_style_Wizard" }) %>
Run Code Online (Sandbox Code Playgroud)

  • 通常,单个选择列表框是比DropDown更好的选择.微软选择不做这个选择太糟糕了. (2认同)