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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top