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)) %>