Disponibilidad de modelos dentro ActionFilter
-
20-09-2019 - |
Pregunta
He creado un nuevo ActionFilter para una aplicación ASP.NET MVC que estoy creando. Tengo una acción que acepta un HTTP Post y el argumento del método acepta un objeto de la acción, por lo que he creado y registrado un ligante modelo personalizado.
Me di cuenta de que dentro de la IActionFilter.OnActionExecuting
el valor de filterContext.Controller.ViewData.Model
siempre se null
a pesar de que parece que el ligante modelo siempre se invoca el método antes OnActionExecuting
filtro de acción. En contraste con esto dentro del método IActionFilter.OnActionExecuted
de la misma acción filtrado del valor para filterContext.Controller.ViewData.Model
no es nulo.
se conocen ustedes si esto es así por diseño o un error? Si por diseño son su cualquier enlace que describen qué es esto? Gracias.
Solución
Dado que la acción del controlador es responsable de crear el modelo y pasarlo a la vista de cómo podría existir el modelo antes de la acción que se llama? Usted no sabe lo que va a ser modelo creado hasta después de que ha pasado.
Otros consejos
Sayed, que normalmente se establece un modelo durante la ejecución de una acción. Por lo tanto, es natural que el modelo es nula durante la ejecución de la OnActionExecuting que se produce antes de que se llama la acción.