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

 

posted @ 2016-09-27 16:32  Relict  阅读(4975)  评论(0编辑  收藏  举报