3

ユーザーが独自のものを追加できるようにするために、内部で ITemplate を使用するコントロールを作成しました。

<my:MyControl id="myControl" runat="server">
   <Content>
         //some stuff in here
   </Content>
</my:MyControl>

「コンテンツ」プロパティはテンプレートです。(これは単純化したものです。この構成は、より大きなコントロール内にあります)。

現在、ユーザーが自分の UserControl を .xml ファイル内に配置するという問題が発生しています<Content>..</Content>。これは問題ではありませんが、UserControl は PageLoad イベントでページの QueryString を呼び出します。そして今、UserControl がテンプレート内にある場合は Page オブジェクトが null であることがわかりましたが、通常はページ上に配置されている場合は機能します。

ここで何が問題になるのか、誰にも分かりますか?

4

2 に答える 2

9

this.Pageネストされたユーザーコントロール内からnullが返されるケースを見てきました。

その場合、構成(Page)HttpContext.Current.Handlerを使用してページオブジェクトを正常に機能させます。

于 2009-06-22T12:41:11.323 に答える
1

役に立つかどうかはわかりませんが、もしかしたらまだ役に立つかもしれません...

テンプレートを ( でInstantiateIn) インスタンス化すると、結果のコントロール階層が実際に MyControl のControlsコレクションに追加されますか? 私の知る限り、それが null 以外の Page プロパティを確実に取得する方法です。

于 2009-09-04T23:18:24.123 に答える