我可以知道主页ContentPlaceHolder中的页面是什么吗?

时间:2010-09-08 18:26:22

标签: c# asp.net contentplaceholder master-pages

所有Google发现我遇到了如何使用FindControl从内容页面本身访问主控件上的控件。

然而,我想要做的却恰恰相反。 在母版页中,我想引用ContentPlaceHolder中的任何子页面。

你问为什么。 我希望母版页知道哪个选项卡应该处于活动状态,具体取决于占位符中当前的内容页面。 这使我可以避免让每个页面引用母版页并允许它们更改活动选项卡;这应该是母版页的工作(如果有办法,它可以知道它所包含的人)。

感谢。请不要咆哮。

1 个答案:

答案 0 :(得分:4)

如果您想获取正在执行的页面类的实例,可以从当前的HTTP上下文中检索它:

var page = HttpContext.Current.CurrentHandler as Page;

从那里,您可以浏览页面的控制树,调用FindControl(),依此类推。但是,请注意页面生命周期,因为母版页事件往往会在页面事件对应之前触发。