Creé mi propia clase de controlador que hereda de BaseController
. Sin embargo, el ControllerContext
en el constructor es "nulo". ¿Dónde debo especificar el ControllerContext
?Nulo ControllerContext en mi controlador personalizado que hereda de BaseController
Respuesta
La propiedad ControllerContext
no está asignada en ninguno de los constructores base en su jerarquía de herencia. Un controlador es creado por una fábrica de controladores y devuelto sin que se haya asignado la propiedad ControllerContext
.
El uso del reflector, podemos ver que la asignación se lleva a cabo:
protected virtual void Initialize(RequestContext requestContext)
{
this.ControllerContext = new ControllerContext(requestContext, this);
}
El método Initialize
se invoca desde lo virtual Ejecutar llamada al método:
protected virtual void Execute(RequestContext requestContext)
{
if (requestContext == null)
{
throw new ArgumentNullException("requestContext");
}
this.VerifyExecuteCalledOnce();
this.Initialize(requestContext);
this.ExecuteCore();
}
Esto significa que el punto más próximo en el cual Puede acceder a la propiedad ControllerContext
anulando el método Execute
o Initialize
(pero llamando primero al base.Execute
o base.Initialize
):
protected override void Execute(RequestContext requestContext)
{
base.Execute(requestContext);
// .ControllerContext is available from this point forward.
}
protected override void Initialize(RequestContext requestContext)
{
base.Initialize(requestContext);
// .ControllerContext is available from this point forward.
}
Este último (Initialize
) es el punto más absoluta a la que se puede utilizar la propiedad ControllerContext, a menos que se maneja la asignación a sí mismo, que no se recomienda (como partes del marco dependerán de tener esa propiedad asignado a en ese momento).
Espero que ayude.
- 1. Controlador StructureMap instancia de controlador y controlador nulo en MVC
- 2. Controlador de diseño personalizado
- 3. HttpContext Y ControllerContext en MVC
- 4. ActionDescriptor from ControllerContext
- 5. Qt que hereda de QGraphicsEllipseItem
- 6. ControllerContext y ViewData Outside Scope of Controller - MVC3 C#
- 7. Controlador de protocolo personalizado en cromo
- 8. ¿Por qué es nulo el Usuario (como en User.Identity.Name) en mi controlador base abstracto?
- 9. acción personalizada para diseñar el controlador de registros que obtiene el recurso nulo
- 10. controlador de autenticación personalizado couchdb
- 11. Generación de código: plantillas de controlador personalizado
- 12. Controlador de eventos es siempre nulo
- 13. ¿Cómo puedo agregar mi formulario personalizado al bloque personalizado en mi módulo personalizado
- 14. Ruby hereda la clase
- 15. error_get_last() y controlador de error personalizado
- 16. ¿Cómo burlarse del ControllerContext usando moq? Error al burlarse del ControllerContext
- 17. Symfony2/Doctrine, teniendo que poner la lógica de negocio en mi controlador? Y duplicar el controlador?
- 18. ¿Realmente tengo que llamar a Focus en OnMouseDown de mi control personalizado?
- 19. Color personalizado mi UIActivityIndicatorView
- 20. Obtener FormCollection out controllerContext para el Custom Model Binder
- 21. Ruta para un controlador sin modelo en rieles 3
- 22. Controlador Spring MVC - getPathInfo() es nulo
- 23. HttpContext.Current es nulo en mi servicio web
- 24. DataContractSerializer miembro de la clase que hereda ISerializable
- 25. Problema con la fábrica controlador personalizado
- 26. Unidad probando una clase que hereda de una clase abstracta
- 27. Burlarse de una clase que hereda de otra clase
- 28. Tema de Android XML que hereda de dos temas principales?
- 29. RVM: crea un gemset que no hereda de global?
- 30. El filtro gzip de Nginx no funciona con mi controlador personalizado
Gracias. Eso es lo que necesito. –