У меня есть метод внутри контроллера, который создает ViewData. Например, этотСоздать ViewData вне Controler в MVC
private void CreateFKViewData(OSQDCOL osqdcol, OSADCOL osadcol, IList<OSADCOL> targetTBLcols)
{
...
ViewData[osadcol.ColName] = new SelectList(SelectListItems, "key", "value", SelectListItems.First().Key);
}
Если этот метод установлен внутри контроллера, все работает так, как ожидалось. Я хочу переместить этот метод вне моего контроллера и поместить его в другой класс в моем BLL-слое. Проблема заключается в том, что ViewData недоступна вне области действия контроллера.
Любые идеи?
Это похоже на работу, но как я могу изменить это, чтобы работать с использованием инъекции зависимостей и особенно автозапуска? –
Хорошо, что это зависит от того, как вы используете DI в отношении ваших контроллеров? В примере, который я дал, вы могли бы использовать свой IoC в том, что ему нужно, в конструкторе вашего контроллера, а затем делать то, что вам нужно оттуда, таким же образом. Если это не сработает для вас, вы можете не использовать конструкцию ViewData и вместо этого использовать шаблон ViewModel. –