有没有办法可以调用函数,或者创建一个在每个页面加载之前运行的文件。我希望能够在显示页面之前检查他们是否有有效的会话。
答案 0 :(得分:3)
您应该考虑实现一个在呈现页面时可以调用的事件处理程序。
有关详细信息,请参阅MSDN上的page life cycle page。
如果您只是想不显示任何内容,那么PreInit()
事件可能就是您想要的事件。
如果您想显示不同的内容,那么PreLoad()
事件可能更合适。
答案 1 :(得分:2)
正如克里斯所说,你需要回应页面生命周期中发生的一个事件。如果您只想在一个地方办理登机手续,可以从Page class派生一个班级,并使所有页面都实现该班级。
答案 2 :(得分:2)
只需检查页面的Page_Preinit事件上的session是否为null:
private void Page_PreInit(object sender, System.EventArgs e) {
if ((Session == null)) {
// Do something here
}
}
如果您需要在很多页面上执行此操作,只需创建一个基页,将代码放在那里,让您的页面继承该基页。
你应该让自己熟悉ChrisF建议的页面生命周期。
-D
答案 3 :(得分:0)
如果您正在讨论在页面加载之前在多个不同页面上运行公共代码,则听起来您正在寻找MasterPages,在主页中实现会话检查。