SelectList с MVC2 и пользовательской ViewModel - PullRequest
0 голосов
/ 24 августа 2010

Я создал пользовательскую ViewModel, и одним из полей является SelectList / DropDownlist.Я хотел использовать EditorForModel для отображения ViewModel.Все поля работают, кроме SelectList.Я пробовал несколько разных вещей, и ничего не получилось.В одном посте я увидел, что EditorForModel не был «достаточно умен», чтобы создавать DropDownList, и мне было интересно, правда ли это.EditorForModel намного проще в использовании и меньше печатает:)

Спасибо!

ОБНОВЛЕНИЕ

Я понял это.В итоге я использовал UIHint («TemplateName») и в папке EditorTemplates создал ожидаемый файл .ascx, который я ожидал.

1 Ответ

0 голосов
/ 24 августа 2010

В вашей модели просмотра у вас должно быть IEnumerable<SelectListItem>

public IEnumerable<SelectListItem> Months { get; set; }

А в aspx вам нужно привязать его следующим образом:

<%
    var htmlAttributes = new Dictionary<string, object> { { "data-autopostback", "true" } }; 
%>

<%:Html.DropDownList("Month", Model.Months, "-- All --", htmlAttributes)%>

Необходимо убедиться, что вы заполняете свойство Months, прежде чем передавать его в представление.

Дайте мне знать, если вам нужен код для заполнения свойства Months.

...