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;
            }
  • 相关阅读:
    LeetCode 16 3sum closest
    LeetCode 15 3Sum
    LeetCode 14 Longest Common Prefix
    jQuery数组遍历
    jQuery DOM对象与jQuery对象转换
    jQuery选择器
    jQuery类和样式操作
    js节点操作
    js全选反选
    innerHTML和innerTEXT的区别
  • 原文地址:https://www.cnblogs.com/goodborder/p/5956287.html
Copyright © 2011-2022 走看看