Asp MVC 2: типизированный редактор шаблонов - PullRequest
1 голос
/ 13 декабря 2010

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

Я хочу использовать помощники 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 Ответ

0 голосов
/ 13 декабря 2010

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

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

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

<%: Html.DropDownListFor(x => x.SelectedArtist, new SelectList(Model.Artists)) %>
...