SDL Tridion 2011 SP1を使用して動的コンポーネントプレゼンテーションを公開する場合は、主にRELを出力フォーマットとして使用しますが、ASP.NETコントロールタグを含むDCPを公開する必要があります。したがって、テンプレートの出力形式をASCXに変更し、ASCXコンポーネントプレゼンテーション用のストレージをWebアプリケーション内のファイルシステムに移動するように構成しました。私はディスク上のascxファイルを見ることができ、期待どおりに内部に制御タグが見えます。Tridion ASCX DCPは子コントロールをレンダリングしません
同じコントロールタグを含むaspxページを作成した場合、出力は予期したとおりですが、コントロールタグからの出力をレンダリングするのではなくコンポーネントプレゼンテーションアセンブラでASCXコンポーネントプレゼンテーションを実行すると、空白になるDCP内のプレーンテキストが表示されます。
私が必要とする機能は、Tridion Dynamic Componentリンクコントロールと非常によく似ています。私は既にこのアーキテクチャでこれらの1つを試して成功しました。テンプレートの中に、自分のタグとトリディアンの両方を入れていく限り、私は行ってしまった。この場合、参照は同じweb.configに組み込まれていますが、私はtridionタグからの出力を表示しますが、自分の出力は表示しません。
TridionのコンポーネントプレゼンテーションアセンブラでASCX DCPを実行し、子コントロールを正常にレンダリングできることがわかりました。このようなコントロールを作成して、このようにレンダリングできるようにするには、おそらく要件がありますか?
UPDATE:
DCPは、私のサイト内ASCXファイルに公開されます。テストの目的のために、私は今、同じDCPでTridionのコントロールを公開していますので、ディスク上の出力は次のようになります。DCPは、次のように発表され、第1の制御が生成ComponentPresentationAssemblerによって実行された場合
<tridion:DynamicComponentLink PageURI="tcm:34-667-64" ComponentURI="tcm:34-876"
TemplateURI="tcm:34-864-32" LinkText="Some page" runat="server" />
<xxx:ComponentLinkQS runat="server" ComponentUri="tcm:34-945"
QueryString="item=876" Text="Some page" />
2番目の出力は期待していません。 <xxx:ComponentLinkQS/>
タグをASPXページに直接配置すると、それはうまく描画されます。
シンプルな "hello world"コントロールを書いてみましたか?新しいリンクコントロールはページ上に直接実行されることなく実行されますか? –
ASCX DCPはWebアプリケーション内に保存されていますか? – Quirijn