2010-06-10 80 views
0

有没有一种方法可以调用一个函数,或者制作一个在每次加载页面之前运行的文件。我希望能够在显示页面之前检查他们是否有有效的会话。在每次页面加载之前进行会话检查?

+0

“有效会话”是否表示他们已登录且会话未过期?或者你的意思是你需要以某种方式验证会话数据? – 2010-06-10 18:56:36

+0

@john:请不要在标题中重复标签中的“C#”等标签。这就是标签的用途。 :-) – 2010-06-10 19:07:00

+0

@John:这是我第一次看到你用笑脸! (0: – 2010-06-10 20:08:04

回答

3

您应该看看实现可以在页面呈现时调用的事件处理程序之一。

欲了解更多信息,请参阅MSDN上的page life cycle page

如果你只是想不显示任何东西,那么PreInit()事件可能是你想要的。

如果要显示不同的内容,则PreLoad()事件可能更合适。

2

正如克里斯所说你需要回应页面生命周期中发生的事件之一。如果你想在一个地方做检查,你可以从Page类派生一个类,并让所有页面实现该类。

2

只是检查,如果会议是在页面的Page_Preinit事件空:

 private void Page_PreInit(object sender, System.EventArgs e) { 
      if ((Session == null)) { 
      // Do something here 
      } 
     } 

如果你需要做这在很多页面,只需创建一个基本页面,把代码在那里,让你的网页继承该底座。

你应该真正熟悉你的自我和页面生命周期,正如ChrisF所建议的。

-D

+0

这就是不是C#,你知道的 – 2010-06-10 19:09:33

+0

哎呀!我的不好,谢谢史蒂文指出,我更正了语言 – 2010-06-10 19:21:05

+0

+1提及使用基本页面类。 – 2010-06-11 02:08:15

0

如果你正在谈论的页面加载之前运行在多个不同的页面通用代码,这听起来像你正在寻找MasterPages,在那里你实现在母版页的会话确认。