我有一个共享的_Layout.cshtml
文件,由不同区域的视图使用。
_Layout.cshtml
对“根”区域中的控制器上的操作@Html.Action
调用(不确定如何引用无区域区域),返回PartialViewResult
我的问题是,我可以从部分操作中访问正在访问的区域的名称吗?
因此,如果用户访问/Users/User/Create
,则“用户区”中的“创建”视图使用调用公共控制器操作的公共_Layout.cshtml
。我需要能够以该方法获得“用户”。
到目前为止,我已查看ParentActionViewContext.RouteData
,但只有控制器和操作名称显示在那里(正如我所料)。
答案 0 :(得分:0)
基于our brief Twitter conversation,您说这是为了突出显示菜单/导航栏中的当前区域。
我过去做过类似的事情,我将菜单视为具有自己的控制器和动作的局部视图。采用这种方法将允许您在(view-)模型上公开MenuItem
bool for“selected”或“active”,然后使用自定义HTML Helper为活动/非活动状态写出适当的HTML菜单项。
关于主题,我知道,但你可能已经使你的领域太精细了。例如,“用户”区域包含的UserController
以外的其他控制器是什么?您是否可以在默认区域中使用单独的控制器来实现相同的功能分离?