2010-12-15 6 views
1

MVC에서 SelectList는 MultiSelectList에서 파생됩니다. 나는 그들 사이의 차이를 말할 수는 없지만. 두 가지 모두에 대해 여러 항목을 선택해야한다고 말해야합니다. 이름에 "multi"가 있기 때문에이 작업을 수행 할 필요가 없습니다.MVC SelectList 대 MultiSelectList

아래의 코드에서 "MultiSelectList"와 "selectList의"를 대체 할 경우, 같은 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="&amp;#39;width:50px;&amp;#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> 

그래서, 어느 정상적으로를 나는 사용한다? 고맙습니다.

답변

1

MultiSelectList는 Html.ListBoxHtml.ListBoxFor 메서드와 함께 사용됩니다. 이러한 도우미는 다음을 생성합니다. HTML select multiple Attribute

+0

ASP.NET MVC 4에서 나는 그것들을 교환 가능하게 사용할 수 있습니다 ... –

4

SelectList 개체는 HTML을 생성하지 않습니다. 다른 곳에서 사용할 수있는 항목 목록을 만듭니다. DropDownList 도우미 함수는 페이지에서 사용되는 HTML을 생성하므로 정확히 동일한 HTML을 볼 수 있습니다.

SelectList 개체는 MultiSelectList에서 파생되었지만 선택한 단일 값 (SelectedValue)을 가져 오는 속성을 제공합니다. MultiSelectList에는 선택한 모든 값을 보유하는 SelectedValues라는 속성 만 있습니다.

그래서 다중 선택 목록을 작성하는 경우 실제로 사용하는 것은 중요하지 않지만 단일 선택 목록을 수행하는 경우 가져 오기가 쉬워 지므로 SelectList를 사용해야합니다 선택된 값