You can pass a parameter to your custom Filter Attribute via TempData
, see below:
SampleFilterAttribute
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var actionDescriptor = filterContext.ActionDescriptor;
var controllerName = actionDescriptor.ControllerDescriptor.ControllerName;
var actionName = actionDescriptor.ActionName;
var userName = filterContext.HttpContext.User.Identity.Name;
var timeStamp = filterContext.HttpContext.Timestamp;
var parameters = filterContext.RouteData.Values["id"];
var description = filterContext.Controller.TempData["Description"];
base.OnActionExecuted(filterContext);
}
Action
[SampleFilter]
public ActionResult PurchaseRequisition(int? id)
{
TempData["Description"] = "This is Description";
return View();
}