I created a custom Action Filter with no problem.
But I would like to modify the Action Filter to use some of the parameters actually passed to my method.
So if I have the following method:
[HttpPost]
[MyAttribute]
public ActionResult ViewUserDetails(Guid userId)
{
// Do something
}
How can I get access to userId from within MyAttribute
? Is there a way I can directly pass it in?
You can try OnActionExecuting
override, where you do have access to action parameters.
public class MyAttribute: ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.ActionParameters.ContainsKey("userId"))
{
var userId = filterContext.ActionParameters["userId"] as Guid;
if (userId != null)
{
// Really?! Great!
}
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With