ASP.NET MVC 2 - установка ViewData для каждого запроса в определенной области (без наследования) - PullRequest
0 голосов
/ 18 августа 2010

В области «Администратор» моего приложения объект должен быть доступен в ViewData на каждой странице (для отображения в шаблоне «Мастер»). Я уже унаследовал от Controller, поэтому я не могу создать простой базовый класс, который его обрабатывает. Какое хорошее решение сделать это, если не используется наследование? ActionFilter кажется интересным, но я не хочу ставить его на каждый контроллер в области администратора. Я рассматриваю следующее:

  • Custom ControllerFactory, которая также определяет Area
  • Application_BeginRequest (), хотя я не знаю, как выполнить контроллер.

Может быть, у вас есть лучшее решение?

Ответы [ 2 ]

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

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

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

У меня есть выпадающий список на главной странице. вам не нужны viewdata для этого. я сделал это так

код на главной странице:

<%= Html.DropDownList("schselectr", MVC2_NASTEST.MvcApplication.masterSchooljaarList())%>

в Global.asax.cs

    public static SelectList masterSchooljaarList() {
        NASDataContext _db = new NASDataContext();
        List<Schooljaar> newlist = _db.Schooljaars.ToList();
        return new SelectList(_db.Schooljaars.ToList(), "Sch_Schooljaar", "Sch_Schooljaar");
    }

так просто, он вызывает метод, который возвращает нужные мне данные каждый раз, когда вы загружаете страницу. легко, чисто, эффективно.

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