@kostyabkb

Как обновить данные, возвращаемые представлением в контроллер?

имеется конструкция вроде
Options _options;
HomeController(IOptions options)
{_options = options;}
void ActionResult Index(Options options)
{_options = options
Redirect...}
... Каждый раз, когда происходит переход на главную страницу, конструктор контроллера перезапускается и перезаписывает _options, не давая тем самым внести изменения, созданные в представлении и контроллере. Как это можно обойти?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kttotto
все, что .NET
Вам нужно изучить жизненный цикл ASP MVC, чтобы понять, что экземпляр контроллера живет ровно от запроса - до ответа. При каждом новом запросе создается новый экземпляр контроллера, это значит, что
void ActionResult Index(Options options)
{_options = options }

смысла не имеет, при новом запросе _options будет пустой, даже если не будет параметра у конструктора.

Если хотите сохранять какие то настройки через ActionResult Index(Options options), то заведите глобальный статический класс для хранения каких то параметров для всех запросов. Если эти настройки индивидуальны для каждого пользователя, то можно хранить их в сессиях.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы