在MVC过滤器中获取触发的Controller、Action、参数 等

强颜欢笑 提交于 2019-12-02 13:13:45

首先是实现接口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/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!