Asp.net MVC中获取控制器的名称的方法
程序员文章站
2022-10-15 09:31:41
1、视图中
string controller = viewcontext.routedata.route.getroutedata(this.context...
1、视图中
string controller = viewcontext.routedata.route.getroutedata(this.context).values["controller"].tostring(); string controller = viewcontext.routedata.values["controller"].tostring();
2、控制器的action中
string controller = routedata.route.getroutedata(this.httpcontext).values["controller"].tostring(); string controller = routedata.values["controller"].tostring();
3、过滤器中
比如在actionfilterattribute中,这个时候一般是自己实现一个继承类,然后重写相关的方法。
在重写的方法中如果需要控制器的名称。
/// <summary> /// 验证权限,用于检查用户是否已经登录(action执行前会先执行这里) /// </summary> /// <param name="filtercontext"></param> public override void onactionexecuting(actionexecutingcontext filtercontext) { base.onactionexecuting(filtercontext); string controller = filtercontext.routedata.values["controller"].tostring(); controller = controller + "controller"; }
4、公共方法中
/// <summary> /// 获取当前页面的controller全名称 /// </summary> /// <returns></returns> public string getcurrentcontroller() { string controller = httpcontext.current.request.requestcontext.routedata.values["controller"].tostring(); if (!string.isnullorwhitespace(controller)) { controller = controller + "controller"; } else { controller = ""; } return controller; }
以上所述是小编给大家介绍的asp.net mvc中获取控制器的名称的方法,希望对大家有所帮助
下一篇: ASP.Net分页的分页导航实例