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>
では、どちらを使用すればよいでしょうか。ありがとうございました。