Atributo de filtro MVC

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 

Supongo que te gusta

Origin www.cnblogs.com/mq0036/p/12748596.html
Recomendado
Clasificación