我正在使用使用'ASPX + Portal Engine'模板类型的Kentico应用程序。在其中一个页面中,我需要从所有子节点中显示所有小部件和Web部件(基本上是整个页面)。如何从Kentico的不同页面渲染小部件?
如果我使用“门户引擎”模板类型,并在用户控件下面的代码,它工作得很好:
<asp:Repeater runat="server" ID="ChildPagesRepeater" ItemType="CMS.DocumentEngine.TreeNode">
<ItemTemplate>
<div>
<p><%# Item.DocumentPageTitle %></p>
<cms:CMSPagePlaceholder runat="server" ShortID="p" Path="<%# Item.NodeAliasPath %>" />
</div>
</ItemTemplate>
</asp:Repeater>
在代码隐藏,我设置DataSource为ChildPagesRepeater到树节点CurrentDocument的子项和这个“正常工作”。但它不适用于'Portal Engine + ASPX'模板。我在这里错过了什么?
我最后的手段是使用WebClient
来获取子页面的标记并直接渲染它,但我宁愿按照“正确”的方式来做。我已经测试过这个功能,但它确实有效,但它并不像那种“正确”的方式。
它不起作用时会发生什么?它会抛出任何错误等?不要使用WebClient来实现这一点,你会遇到更多的问题。 – rocky