2013-08-07 76 views
0

我有一个共享的_Layout.cshtml文件,该文件由不同区域中的视图使用。从共享部分视图访问区域名称

_Layout.cshtml有一个@Html.Action呼叫在“根”区域(不知道如何引用无区域区域)的控制器上的操作,该操作返回PartialViewResult

我的问题是我可以访问从部分操作访问的区域的名称?

因此,如果用户访问/Users/User/Create,用户区域中的创建视图使用调用公共控制器操作的公用_Layout.cshtml。我需要能够通过该方法获取“用户”。

到目前为止,我已经看过了ParentActionViewContext.RouteData但只有控制器和动作名字在那里显示(如我所期望的)。

回答

0

基于our brief Twitter conversation,你说,你这样做是为了突出一个菜单/导航栏当前区域。

我已经做在我处理的菜单,有自己的控制器和动作的局部视图过去类似的东西。采取这一办法将允许你在你的(查看 - )模型暴露出了MenuItem一个布尔值,为“选中”或“激活”,然后使用自定义HTML辅助写出相应的HTML为有效/无效的菜单项。

偏离主题,我知道,但有可能你已经让你的区域变得细致。例如,Users区域包含UserController以外的其他控制器?你可以在默认区域使用单独的控制器来实现相同的功能分离吗?

+0

我觉得你说得对太精细。至少在此刻。我认为这是YAGNI的一个好例子。 :) – DavidGouge