从模板化控件中调用ASP.net Page对象时为null

Jur*_*uri 3 c# asp.net templates servercontrols

我创建了一个内部使用ITemplate的控件,以允许用户添加自己的东西.

<my:MyControl id="myControl" runat="server">
   <Content>
         //some stuff in here
   </Content>
</my:MyControl>
Run Code Online (Sandbox Code Playgroud)

"Content"属性是模板.(这只是简化了.这个结构在一个更大的控件内).

现在我遇到的问题是我的用户将自己的UserControl置于其中<Content>..</Content>.这应该不是问题,但UserControl在PageLoad事件中调用页面的QueryString.现在我认识到当UserControl驻留在模板中时,Page对象为null,如果它放在外面,通常在页面上,它就可以工作.

有谁知道这里可能出现什么问题?

Jim*_*im 9

我见过一个this.Page从嵌套用户控件中返回null 的情况.

在这种情况下使用构造(Page)HttpContext.Current.Handler来获取页面对象工作正常.