写此随笔,目的只为今后在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的语句。