为子操作中使用的Orchard寻呼机形状设置自定义分页URL

时间:2012-12-13 08:41:11

标签: c# asp.net-mvc-4 orchardcms

在我的自定义Orchard模块中,我的控制器中有一个仅限子操作的方法,它返回包含需要分页的表格数据的部分内容。我已将寻呼机形状添加到视图模型中,它显示正常并显示我希望看到的10行。当我单击第2页并且URL用于子操作而不是包含视图时,会发生此问题。我的问题是:我可以更改Orchard寻呼机形状使用的URL,如果它嵌入在通过ChildActionOnly属性访问的部分中吗?我正在使用Orchard 1.6。

1 个答案:

答案 0 :(得分:1)

解决。问题是寻呼机形状从ViewContext获取路径信息。通过在我的主题中重写Pager.cshtml,我能够使用Parent上下文更新Pager形状使用的RouteData(如果有的话)。如果在没有父项的视图上使用Pager,它将正常使用ViewContext。如果它用于子操作,它将使用父视图上下文。我将Admin主题中的Pager.cshtml带入了我的主题并修改了这一行:

var context = ViewContext.ParentActionViewContext ?? ViewContext;
ViewContext.RouteData = context.RouteData;