В MVC SelectList наследуется от MultiSelectList.Я не могу сказать разницу между ними, хотя.Для обоих я должен сказать, чтобы он выбрал несколько элементов (я ожидал, что это делать не нужно, поскольку в названии есть «multi»).
Если вы замените «SelectList» на «MultiSelectList» вкод ниже, он сгенерирует тот же HTML:
<%
var leftSelectList = new SelectList(Model.LeftSide,"Key","Value");
var attrs = new SortedDictionary<string, object> {{"class", "ui-widget"}};
MvcHtmlString disabledStyle = MvcHtmlString.Create(Html.Encode("'width:50px;'"));
attrs.Add("style", disabledStyle);
attrs.Add("multiple", "multiple");
attrs.Add("size", "5"); /*-- how many items to show--*/
var leftItems = Html.DropDownList("ddlLeftItems", leftSelectList, attrs); %>
<%= leftItems.ToHtmlString()%>
Сгенерированный HTML:
<select class="ui-widget" id="ddlLeftItems" multiple="multiple" name="ddlLeftItems" size="5" style="&#39;width:50px;&#39;">
<option value="1">A</option>
<option value="2">B</option>
<option value="3">C</option>
<option value="5">E</option>
<option value="9">I</option>
</select>
Итак, какой из них использовать?Спасибо.