Лучший способ сделать глобальные данные просмотра в области моего сайта ASP.NET MVC?

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

Прямо сейчас я делал что-то вроде этого:

public ActionResult ProductBacklog(int id)  {
      PopulateGlobalData(id);
      // do some other things
      return View(StrongViewModel);
}

Где PopulateGlobalData () определяется как:

    public void PopulateGlobalData(int id) {
        ViewData["employeeName"] =  employeeRepo.Find(Thread.CurrentPrincipal.Identity.Name).First().FullName;
        ViewData["productName"] = productRepo.Find(id).First().Name;
     }

Это просто псевдокод так что простите любые очевидные ошибки, есть ли лучший способ сделать это? Я думал о том, чтобы мой контроллер унаследовал класс, который в значительной степени делает то же самое, что вы видите здесь, но я не видел в этом больших преимуществ. Такое ощущение, что то, что я делаю, неправильно и неуловимо, как лучше всего это сделать?

8
задан chum of chance 16 November 2010 в 19:34
поделиться