2016-11-25 10 views
0

私は、 '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> 

を、私はツリーノードにChildPagesRepeaterのためのデータソースを設定しますCurrentDocumentの子どもたち。これはちょうどうまくいく。しかし、「Portal Engine + ASPX」テンプレートではうまく動作しません。私はここで何が欠けていますか?

最後にWebClientを使用して子ページのマークアップを取得し、直接レンダリングしますが、「適切な」方法で行うことをお勧めします。私はこれをテストしましたが、これは動作しますが、これを行うための「正しい」方法のようには感じません。

+0

動作しないとどうなりますか?それはどんなエラーなどもスローしますか?これを達成するために 'WebClient'を使用しないでください。もっと多くの問題に遭遇します。 – rocky

答えて

1

私はこのトリックを行ったことがありますが、ポータルでのみ、ポータル+ aspx.netで行われたのと同じことが動作しないか、すべてのゾーンと他の既存のゾーンへのwebpartsが問題になる可能性があります。

好奇心で、なぜaspx.net + portalをやっていますか? aspx.net + portalよりも純粋なPortal(カスタムコントロールに加えて)でできないことはほとんどありません。さらに、ハードコードされたマスターテンプレートを持つのは面倒です。私は改宗するだろう。

+0

答えをありがとう。 この問題の解決策を見つけることができなかったので、私はPortalに変換し直さなければなりませんでした。私が 'aspx + portal'を試していたのは、ソース管理下にあるものをすべて持ち、Kenticoからのテンプレートのインポートとエクスポートを最小限に抑えることでした(我々は開発チームが同時に働いています)。 –

関連する問題