Вопрос

Я создал новый ActionFilter для ASP.NET Приложения MVC, которое я создаю.У меня есть действие, которое принимает Http Post, а аргумент метода action принимает объект, для которого я создал и зарегистрировал пользовательскую модель binder.

Я заметил , что внутри IActionFilter.OnActionExecuting значение для filterContext.Controller.ViewData.Model всегда есть null несмотря на то, что это выглядит так, как будто model binder всегда вызывается перед action filter OnActionExecuting способ.В отличие от этого внутри IActionFilter.OnActionExecuted метод того же действия фильтрует значение для filterContext.Controller.ViewData.Model не является нулевым.

Ребята, вы не знаете, это намеренно или ошибка?Если по дизайну есть на них какие-либо ссылки, которые описывают, почему это так?Спасибо.

Это было полезно?

Решение

Поскольку действие контроллера отвечает за создание Модели и передачу ее в Представление, как Модель могла существовать до вызова действия?Вы не знаете, какая модель будет создана, пока это не произойдет.

Другие советы

Сайед, обычно вы устанавливаете модель во время выполнения действия.Следовательно, естественно, что модель имеет значение null во время выполнения OnActionExecuting, которое происходит перед вызовом действия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top