質問

RenderContentsメソッドを呼び出そうとしているカスタムWebパーツがありますが、結果にはWebパーツの周囲のdivのみが含まれ、子コントロールは含まれていません。

この単純なWebパーツを例にとってみましょう: ジェネラコディセタグプレ

次に、httpハンドラーで、このWebパーツをインスタンス化し、そのRenderControlメソッドを呼び出そうとしています。結果は<div class="myTestWebPart"></div>です。

CreateChildControlsからコントロールが出力に追加されない理由を誰かが知っていますか?

役に立ちましたか?

解決

これは、コントロールをインスタンス化してRenderControlを呼び出すだけで、コントロールコレクションに追加しない場合、すべてのイベントを発生させるページライフサイクルの一部ではないためです。

特に、EnsureChildControlを呼び出すPreRenderingは呼び出されません。

簡単な解決策は、次のようにレンダリングをオーバーライドすることです。 ジェネラコディセタグプレ

他のヒント

createchildコントロールで記述するのではなく、renderメソッドでコードを記述することをお勧めします

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top