Asp MVC 2: шаблонный редактор

(Я ссылаюсь на этот учебник в этом тексте)

Я хочу использовать помощники Html.EditorFor (или Html.Editor).

Если UserControl нужны дополнительные данные, они передаются через

...EditorFor(model => model.Album, new { Artists = Model.Artists, ... })

В UserControl доступ к нему осуществляется через ViewData [stringKey], т.е.

... new SelectList(ViewData["Artists"] as IEnumerable, ...

Для меня это пахнет немного подозрительно, так как я предпочел бы строго типизированную ViewModel, которая обеспечивает доступность определенных данных.

Теперь я немного застрял, потому что я не знаю, есть ли "типичный способ" поиска, или я должен принять этот способ как есть.

Как вы решили эту проблему? Любая помощь приветствуется!

Lg
warappa

1 ответ

Решение

Вероятно, я бы изменил модель представления, чтобы мне не нужно было передавать эту дополнительную информацию. Вы можете сделать, например, альбом имеет коллекцию художников. Теперь все, что вам нужно сделать, это:

<%: Html.EditorFor(model => model.Album) %>

И в вашем редакторе шаблонов:

<%: Html.DropDownListFor(x => x.SelectedArtist, new SelectList(Model.Artists)) %>
Другие вопросы по тегам