ActionFilterAttribute, 里面 有 4 个 虚 方法
público virtual vacío OnActionExecuted (ActionExecutedContext filterContext);
vacío virtual público OnActionExecuting (ActionExecutingContext filterContext);
vacío virtual público OnResultExecuted (ResultExecutedContext filterContext);
vacío virtual público OnResultExecuting (ResultExecutingContext filterContext);
Primero cree una clase llamada MyActionFilterAttribute en Model, heredada de ActionFilterAttribute
Defina Nombre en él y vuelva a cargar 4 métodos virtuales Agregue el mensaje de salida
Nombre de cadena pública {get; conjunto; }
anulación pública void OnActionExecuting (ActionExecutingContext filterContext)
{
base.OnActionExecuting (filterContext);
HttpContext.Current.Response.Write ("<br /> OnActionExecuting" + this.Name);
}
anulación pública void OnResultExecuting (ResultExecutingContext filterContext)
{
base.OnResultExecuting (filterContext);
HttpContext.Current.Response.Write ("<br /> OnResultExecuting" + this.Name);
}
anulación pública void OnActionExecuted (ActionExecutedContext filterContext)
{
base.OnActionExecuted (filterContext);
HttpContext.Current.Response.Write ("<br /> OnActionExecuted" + this.Name);
}
anulación pública void OnResultExecuted (ResultExecutedContext filterContext)
{
base.OnResultExecuted (filterContext);
HttpContext.Current.Response.Write ("<br /> OnResultExecuted" + this.Name);
}
Cree un nuevo controlador llamado FilterController y escriba en él
[MyActionFilterAttribute (Name = "Index Action")]
public ActionResult Index ()
{
Response.Write ("<p> Acción ejecutada </>");
devolver Contenido ("<br /> Intentando ser procesado");
}
Ingrese el método de acción de índice del controlador de filtro
Mostrar resultados:
OnActionExecuting Index Action
Acción ejecutada Acción de
índice OnActionExecuted Acción de índice
OnResultExecuting
intentó
procesarse Acción de índice OnResultExecuted
Explique que OnActionExecuting se ejecuta antes de Action
OnActionExecuted se ejecuta después de Action
OnResultExecuting se ejecuta antes de Ver
OnResultExecuted se ejecuta después de Ver
Fuente: https://www.cnblogs.com/Jack-Blog/p/4058112.html
ActionFilterAttribute, 里面 有 4 个 虚 方法
público virtual vacío OnActionExecuted (ActionExecutedContext filterContext);
vacío virtual público OnActionExecuting (ActionExecutingContext filterContext);
vacío virtual público OnResultExecuted (ResultExecutedContext filterContext);
vacío virtual público OnResultExecuting (ResultExecutingContext filterContext);
Primero cree una clase llamada MyActionFilterAttribute en Model, heredada de ActionFilterAttribute
Defina Nombre en él y vuelva a cargar 4 métodos virtuales Agregue el mensaje de salida
Nombre de cadena pública {get; conjunto; }
anulación pública void OnActionExecuting (ActionExecutingContext filterContext)
{
base.OnActionExecuting (filterContext);
HttpContext.Current.Response.Write ("<br /> OnActionExecuting" + this.Name);
}
anulación pública void OnResultExecuting (ResultExecutingContext filterContext)
{
base.OnResultExecuting (filterContext);
HttpContext.Current.Response.Write ("<br /> OnResultExecuting" + this.Name);
}
anulación pública void OnActionExecuted (ActionExecutedContext filterContext)
{
base.OnActionExecuted (filterContext);
HttpContext.Current.Response.Write ("<br /> OnActionExecuted" + this.Name);
}
anulación pública void OnResultExecuted (ResultExecutedContext filterContext)
{
base.OnResultExecuted (filterContext);
HttpContext.Current.Response.Write ("<br /> OnResultExecuted" + this.Name);
}
Cree un nuevo controlador llamado FilterController y escriba en él
[MyActionFilterAttribute (Name = "Index Action")]
public ActionResult Index ()
{
Response.Write ("<p> Acción ejecutada </>");
devolver Contenido ("<br /> Intentando ser procesado");
}
Ingrese el método de acción de índice del controlador de filtro
Mostrar resultados:
OnActionExecuting Index Action
Acción ejecutada Acción de
índice OnActionExecuted Acción de índice
OnResultExecuting
intentó
procesarse Acción de índice OnResultExecuted
Explique que OnActionExecuting se ejecuta antes de Action
OnActionExecuted se ejecuta después de Action
OnResultExecuting se ejecuta antes de Ver
OnResultExecuted se ejecuta después de Ver