Asp.net mvc 3 如何从局部视图获取父视图

Asp.net mvc 3 如何从局部视图获取父视图,asp.net-mvc-3,Asp.net Mvc 3,我有一个局部视图作为_Layout.cshtml的一部分,因此它可以在多个页面上呈现。将局部视图视为一个菜单,它显示在网站的每个页面上 当单击部分视图菜单中的其中一个链接时,我只能访问/查看被称为部分视图的操作方法,比如它的名称等 但我真正需要的是当点击项目时,部分视图处于打开状态的视图 我怎么能得到这个 您可以使用 比如说 var controller = ControllerContext.ParentActionViewContext.RouteData.Values["Controll

我有一个局部视图作为_Layout.cshtml的一部分,因此它可以在多个页面上呈现。将局部视图视为一个菜单,它显示在网站的每个页面上

当单击部分视图菜单中的其中一个链接时,我只能访问/查看被称为部分视图的操作方法,比如它的名称等

但我真正需要的是当点击项目时,部分视图处于打开状态的视图

我怎么能得到这个

您可以使用

比如说

 var controller = ControllerContext.ParentActionViewContext.RouteData.Values["Controller"] as string;
 var action = ControllerContext.ParentActionViewContext.RouteData.Values["Action"] as string;
更新

从这个角度来看,这个电话应该满足您的需要

@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString()
@HttpContext.Current.Request.RequestContext.RouteData.Values["action"].ToString()

如果我没听错的话。。是否要获取正在渲染局部视图的视图的名称?它不是在布局中呈现的吗?没错:我在某个具有局部视图的页面上,我想知道该页面是什么。我刚才提到的这些链接是语言设置,所以我想在action方法中设置语言,然后重定向回它来自的页面(使用不同的语言)。为此,我有一个单独的控制器来处理这个问题,但我只得到部分视图,而不是它所在的视图。ParentActionViewContext在我的Action方法中似乎为null,因此没有运气…+Spaceballs很棒-“我没看到你再玩你的玩偶!”我想我的错误是代码在控制器中工作,我已经更新了使用不同于视图的调用(顺便说一句Sapeceball FTW:)