Лучший способ заполнить ViewData для DropDownLists в Asp.net MVC? - PullRequest
1 голос
/ 14 февраля 2010

Каков наилучший способ заполнить ViewData для выпадающих списков, которые используются в нескольких представлениях. Если это делается в каждом действии, которое использует выпадающие списки, то мы нарушаем принцип DRY. Также в идеале мы должны кэшировать регулярно используемые списки выбора (например, страны, штаты и т. Д.).

Ответы [ 2 ]

2 голосов
/ 14 февраля 2010

Я делал это раньше с ActionFilters. В моем случае мне нужен был список спонсоров на каждой странице.

http://weblogs.asp.net/psteele/archive/2009/11/04/using-windsor-to-inject-dependencies-into-asp-net-mvc-actionfilters.aspx

0 голосов
/ 14 февраля 2010

Вы должны подготовить модель базового представления для этих представлений и расширить ее путем наследования с данными из конкретного представления:

class BaseViewModel
{
     List<string> Countries;
     List<string> States;
}

В моем приложении я создал объект, который содержит кэшированные словари.Он реализует интерфейс IApplicationCache (созданный мной, он возвращает списки используемых словарей), который внедряется в слой бизнес-логики и используется для заполнения моделей представлений.

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