У меня есть несколько контроллеров, где я хочу, чтобы каждый 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;
}
Это просто псевдокод так что простите любые очевидные ошибки, есть ли лучший способ сделать это? Я думал о том, чтобы мой контроллер унаследовал класс, который в значительной степени делает то же самое, что вы видите здесь, но я не видел в этом больших преимуществ. Такое ощущение, что то, что я делаю, неправильно и неуловимо, как лучше всего это сделать?