16

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

当单击局部视图菜单中的这些链接之一时,我只能在被称为局部视图的操作方法中访问/查看,例如它的名称等。

但我真正需要的是单击项目时部分视图所在的视图。

我怎样才能得到这个?

4

1 回答 1

25

您可以使用ParentActionContext

例如

 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()
于 2012-08-10T11:53:02.297 回答