paginacion net mvc filters attribute asp asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

filters - ¿Cómo paso las variables a un ActionFilter personalizado en la aplicación ASP.NET MVC?



filters asp net mvc 5 (1)

Enfoque - 1

Filtro de acción

public class MyActionFilter : ActionFilterAttribute { public override void OnActionExecuted(ActionExecutedContext filterContext) { base.OnActionExecuted(filterContext); } }

Método de acción

[MyActionFilter] public ActionResult Index() { ViewBag.ControllerVariable = "12"; return View(); }

Si prestas atención a la captura de pantalla, puedes ver la información ViewBag

Enfoque - 2

Filtro de acción

public class MyActionFilter : ActionFilterAttribute { //Your Properties in Action Filter public string Property1 { get; set; } public string Property2 { get; set; } public override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); } }

Método de acción

[MyActionFilter(Property1 = "Value1", Property2 = "Value2")] public ActionResult Index() { return View(); }

Tengo un controlador en mi aplicación MVC para el cual intento registrar detalles utilizando un ActionFilterAttribute personalizado, utilizando el método onResultExecuted.

Leí este tutorial para comprender y escribir mi propio filtro de acción. La pregunta es ¿cómo paso las variables del controlador al filtro de acción?

  1. Quiero obtener las variables de entrada con las que se llama un controlador. Diga, el nombre de usuario / ID de usuario.
  2. Si (en algunas situaciones) se arroja una excepción por cualquier método de control, me gustaría registrar el error también.

El controlador -

[MyActionFilter] public class myController : ApiController { public string Get(string x, int y) { .. } public string somemethod { .. } }

El filtro de acción -

public class MyActionFilterAttribute : ActionFilterAttribute { public override void onActionExecuted(HttpActionExecutedContext actionExecutedContext) { // HOW DO I ACCESS THE VARIABLES OF THE CONTROLLER HERE // I NEED TO LOG THE EXCEPTIONS AND THE PARAMETERS PASSED TO THE CONTROLLER METHOD } }

Espero haber explicado el problema aquí. Disculpas si me estoy perdiendo algunos objetos básicos aquí, soy totalmente nuevo en esto.