Disponibilidade do modelo dentro do Filter de ação
-
20-09-2019 - |
Pergunta
Eu criei um novo ActionFilter para um aplicativo ASP.NET MVC que estou criando. Eu tenho uma ação que aceita uma postagem HTTP e o argumento do método de ação aceita um objeto, para o qual eu criei e registrei um fichário de modelo personalizado.
Eu notei que dentro do IActionFilter.OnActionExecuting
o valor para filterContext.Controller.ViewData.Model
é sempre null
Apesar do fato de parecer que o fichário do modelo é sempre invocado antes do filtro de ação OnActionExecuting
método. Em contraste com isso dentro do IActionFilter.OnActionExecuted
método da mesma ação filtra o valor para filterContext.Controller.ViewData.Model
não é nulo.
Vocês sabem se isso é por design ou um bug? Se, por design, são seus links que descrevem por que isso é? Obrigado.
Solução
Como a ação do controlador é responsável por criar o modelo e passá -lo para a visão, como poderia existir o modelo antes da chamada ação? Você não sabe qual modelo será criado até depois de acontecer.
Outras dicas
Sayed, você geralmente define um modelo durante a execução de uma ação. Portanto, é natural que o modelo seja nulo durante a execução do OnactionExecution, que ocorre antes que a ação seja chamada.