在MVC过滤器中获取触发的Controller、Action、参数 等
首先是实现接口System.Web.Mvc.IActionFilter的过滤器
获取Controller、Action、参数
方法一、
string actionName = filterContext.ActionDescriptor.ActionName; string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; //获取触发当前方法的Action方法的所有参数 //(因为参数可能有多个,所以它是一个集合,它的返回值类型是IDictionary<string ,object>) var paramss = filterContext.ActionParameters;
方法二、
var routeData = filterContext.RouteData; string actionName = routeData.Values["Controller"].ToString(); string controllerName = routeData.Values["Action"].ToString(); var param = routeData.Values["Id"];