寫此隨筆,目的只為今後在ASP.NET MVC項目中再用到Area(區域)時作為備查。
獲取當前Area(區域)名稱的方法是:
ViewContext.RouteData.DataTokens["area"]
這樣,我就可以通過下面三個語句,分別獲取用戶當前訪問的Area、Controller和Action
string areaName = filterContext.RouteData.DataTokens["area"] == null ? "" : filterContext.RouteData.DataTokens["area"].ToString(); string controllerName=filterContext.RouteData.Values["controller"].ToString(); string actionName=filterContext.RouteData.Values["action"].ToString();
當用戶訪問的是主站(根目錄)時filterContext.RouteData.DataTokens["area"]為null,因此上面代碼第一句有個判斷是否為null的語句。