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