所有Google发现我遇到了如何使用FindControl从内容页面本身访问主控件上的控件。
然而,我想要做的却恰恰相反。 在母版页中,我想引用ContentPlaceHolder中的任何子页面。
你问为什么。 我希望母版页知道哪个选项卡应该处于活动状态,具体取决于占位符中当前的内容页面。 这使我可以避免让每个页面引用母版页并允许它们更改活动选项卡;这应该是母版页的工作(如果有办法,它可以知道它所包含的人)。
感谢。请不要咆哮。
答案 0 :(得分:4)
如果您想获取正在执行的页面类的实例,可以从当前的HTTP上下文中检索它:
var page = HttpContext.Current.CurrentHandler as Page;
从那里,您可以浏览页面的控制树,调用FindControl()
,依此类推。但是,请注意页面生命周期,因为母版页事件往往会在页面事件对应之前触发。