Asp.net mvc 4 为什么RenderAction PartialView后的ViewContext会更改?路线迷路了

Asp.net mvc 4 为什么RenderAction PartialView后的ViewContext会更改?路线迷路了,asp.net-mvc-4,renderaction,viewcontext,Asp.net Mvc 4,Renderaction,Viewcontext,我正在尝试使用MVC4在web项目内部实现动态导航。项目的所有动态部分都显示为从控制器渲染的局部视图。现在我遇到了这样的情况:PartialView中的寻呼机扩展无法使用初始页面ViewContext,寻呼机中的路由呈现为domain.controller.action?pagesize=20&page=2,而不是domain/about/presscenter/news?pagesize=20&page=2。页面调试显示,在渲染之前,我获得了正确的ViewContext,但当它到达寻呼机扩展时

我正在尝试使用MVC4在web项目内部实现动态导航。项目的所有动态部分都显示为从控制器渲染的局部视图。现在我遇到了这样的情况:PartialView中的寻呼机扩展无法使用初始页面ViewContext,寻呼机中的路由呈现为domain.controller.action?pagesize=20&page=2,而不是domain/about/presscenter/news?pagesize=20&page=2。页面调试显示,在渲染之前,我获得了正确的ViewContext,但当它到达寻呼机扩展时,它就丢失了。哪里出错了?

我的寻呼机将自身呈现为UrlHelper.GenerateUrl方法所需的参数ViewContext。因此,我必须将父视图上下文传递给寻呼机,如下所示:

@Html.Pager(Model.PagingFilteringContext, ViewContext.ParentActionViewContext)

真奇怪!但是'var url=UrlHelper.GenerateUrlnull,null,null,routeValue,RouteTable.Routes,viewContext.RequestContext,true;'在我的寻呼机中,删除它呈现的最后一段URL,如domain/about/presscenter?pagesize=20&page=2,而不是domain/about/presscenter/news?pagesize=20&page=2。