我正在使用使用'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