程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Asp.net MVC中如何獲取控制器的名稱,asp.netmvc

Asp.net MVC中如何獲取控制器的名稱,asp.netmvc

編輯:關於.NET

Asp.net MVC中如何獲取控制器的名稱,asp.netmvc


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;
        }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved