在我的自定义 Orchard 模块中,我的控制器中有一个子操作方法,它返回包含需要分页的表格数据的部分内容。我已将寻呼机形状添加到视图模型中,它显示良好并显示了我希望看到的 10 行。当我单击第 2 页并且 URL 用于子操作而不是包含视图时,就会出现问题。我的问题是:如果 Orchard 寻呼机形状嵌入到通过 ChildActionOnly 属性访问的部分中,我可以更改它使用的 URL 吗?我正在使用果园 1.6。
问问题
643 次
1 回答
1
解决了。问题是寻呼机形状从 ViewContext 获取路由信息。通过在我的主题中覆盖 Pager.cshtml,我能够使用 Parent 上下文更新 Pager 形状使用的 RouteData(如果有的话)。如果在没有父视图的视图上使用 Pager,它将像往常一样使用 ViewContext。如果它用于子操作,它将使用父视图上下文。我将 Admin 主题中的 Pager.cshtml 带入我的主题并修改了这一行:
var context = ViewContext.ParentActionViewContext ?? ViewContext;
ViewContext.RouteData = context.RouteData;
于 2012-12-13T10:35:53.833 回答