我想知道,通过控制器操作,我可以通过MVC框架识别控制器所在的区域(我的意思是,不会让某个区域中的所有控制器都从具有该信息的基本控制器继承) 。
我对子动作(通过RenderAction呈现的控制器动作)的情况特别感兴趣,例如调用父控制器的区域。
我正在使用ASP .NET MVC 2.0 RTM
答案 0 :(得分:2)
您可以从RouteData
的{{1}}字典中获取该字典。
在你的控制器方法中(这是经过测试的代码):
ControllerContext
我使用的路线如下:
string area = this.DataContext.RouteData.DataTokens["Area"].ToString();
请注意,因为我的区域路由比我的根路由更具体(在global.asax中)我首先注册我的区域路由
您应该使用Phil Haack的路线调试器检查您的路线,并确保您的Url正在按照正确的路线。