在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"];

出处:https://www.bbsmax.com/A/6pdDP1gkdw/

猜你喜欢

转载自www.cnblogs.com/jsll/p/11746383.html