.NET MVC 獲取 當前請求的 控制器/視圖/區域 的名字


.NET MVC 在action中或過濾器中或視圖中,分別如何獲取  當前請求的  控制器/視圖/區域  的名字

1)過濾器中的:

    public class CMSAttribute : FilterAttribute, IAuthorizationFilter
    {
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            var controllerName = (filterContext.RouteData.Values["controller"]).ToString().ToLower();
            var actionName = (filterContext.RouteData.Values["action"]).ToString().ToLower();
            var areaName = (filterContext.RouteData.DataTokens["area"] == null ? "" : filterContext.RouteData.DataTokens["area"]).ToString().ToLower();
    }
   }



2)視圖中的:

    @{
        //獲取當前路由的區域名稱
        var areaName = (ViewContext.RouteData.DataTokens["area"] == null ? "" : ViewContext.RouteData.DataTokens["area"]).ToString().ToLower();
        var actionName=ViewContext.RouteData.Values["action"].ToString().ToLower();
        var controllerName = ViewContext.RouteData.Values["controller"].ToString().ToLower();
    }


3)action中:

    string areaName=RouteData.DataTokens["area"].ToString().ToLower();    
    string controllerName = RouteData.Values["controller"].ToString().ToLower();    
    string actionName = RouteData.Values["action"].ToString().ToLower();

 

 

獲取控制器名稱:

ViewContext.RouteData.Values["controller"].ToString();

獲取Action名稱:

ViewContext.RouteData.Values["action"].ToString();

獲取路由參數值:

ViewContext.RouteData.Values[名稱].ToString();

如:ViewContext.RouteData.Values["ID"].ToString(); 獲取ID的值

 

 獲取area名稱

在代碼中:

ControllerContext.RouteData.DataTokens["area"]

在View中:

ViewContext.RouteData.DataTokens["area"]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM