C# 为子操作中使用的Orchard寻呼机形状设置自定义寻呼url

C# 为子操作中使用的Orchard寻呼机形状设置自定义寻呼url,c#,asp.net-mvc-4,orchardcms,C#,Asp.net Mvc 4,Orchardcms,在我的自定义Orchard模块中,我的控制器中有一个仅用于子操作的方法,该方法返回一个部分,其中包含需要分页的表格数据。我已经将寻呼机形状添加到视图模型中,它显示良好,并显示了我希望看到的10行。当我点击第2页,URL是子操作的,而不是包含的视图时,问题就出现了。我的问题是:如果乌节寻呼机形状嵌入通过ChildActionOnly属性访问的部分中,我可以更改其使用的URL吗?我使用的是乌节1.6。已解决。问题是寻呼机形状从ViewContext获取路由信息。通过在我的主题中重写Pager.csh

在我的自定义Orchard模块中,我的控制器中有一个仅用于子操作的方法,该方法返回一个部分,其中包含需要分页的表格数据。我已经将寻呼机形状添加到视图模型中,它显示良好,并显示了我希望看到的10行。当我点击第2页,URL是子操作的,而不是包含的视图时,问题就出现了。我的问题是:如果乌节寻呼机形状嵌入通过ChildActionOnly属性访问的部分中,我可以更改其使用的URL吗?我使用的是乌节1.6。

已解决。问题是寻呼机形状从ViewContext获取路由信息。通过在我的主题中重写Pager.cshtml,我能够用父上下文(如果有)更新寻呼机形状使用的RoutedData。如果在没有父视图的视图上使用寻呼机,它将正常使用ViewContext。如果在子操作上使用,它将使用父视图上下文。我将管理主题中的Pager.cshtml转换为我的主题,并修改了这一行:

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

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

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