注册 登录
编程论坛 ASP.NET技术论坛

经过Global.asax处理的数据怎么和一般页面交互?

jimnox 发布于 2007-10-26 22:06, 1095 次点击
在Global.asax里编写Application_BeginRequest事件,初始化一个值和Application_EndRequest事件,设定了这个值

现在需要在某个页面的Page_Load事件里获取这个值
尝试用this.Context.Items["名称"],在Page_Load里出错,提示未初始化
难道Application_EndRequest事件发生在Page_Load事件之后???

怎么弄?

谢谢!

[此贴子已经被作者于2007-10-26 22:08:22编辑过]

4 回复
#2
guoxhvip2007-10-26 22:41

Application_BeginRequest每次页面请求开始时触发(理想情况下是在加载或刷新页面后)

[此贴子已经被作者于2007-10-26 22:42:48编辑过]

#3
jimnox2007-10-27 12:04
我现在很好奇
执行过程是Application_BeginRequest
然后Page_Load,这时候还没有触发Application_EndRequest事件

因为在Application_EndRequest给Session里赋值,在Page_Load里居然说没初始化!

郁闷了!
#4
bygg2007-10-27 13:59

看看代码呢

#5
jimnox2007-10-27 17:03

//File:Global.asax
//前面省略
protected void Application_BeginRequest(object sender, EventArgs e)
{
// 在新请求启动时运行的代码。
MyCustomTimer.Start();

}
protected void Application_EndRequest(object sender, EventArgs e)
{
// 在请求结束时运行的代码。
MyCustomTimer.Stop();
string ExcuteTime = (MyCustomTimer.ElapsedTime * 1000).ToString("#.####");
Session["ExcuteTime"] = ExcuteTime;

}
//后面省略


//在某个页面里
protected void Page_Load(object sender, EventArgs e)
{
string ExcuteTime = Session["ExcuteTime"].ToString();
}

错误,Session对象未初始化

[此贴子已经被作者于2007-10-27 17:03:29编辑过]

1