zoukankan      html  css  js  c++  java
  • Asp.net MVC中如何获取控制器的名称

    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;
            }
  • 相关阅读:
    拼接sql ()
    HttpPostedFileBase 基类
    jQuery获取Select元素
    HttpFileCollection 类使用
    C# 截取字符串——
    判断人员js
    删除PLSQL 关联表
    mongodb常用操作方法
    json返回取值操作
    idhttp请求网址中的中文输入
  • 原文地址:https://www.cnblogs.com/goodborder/p/5956287.html
Copyright © 2011-2022 走看看