首页 新闻 会员 周边

在Global.asax文件中如何得到当前请求的页面(page)对象?

0
悬赏园豆:50 [已解决问题] 解决于 2008-07-25 09:55
在Global.asax文件中如何得到当前请求的页面(page)对象,
zjianjun/Andy的主页 zjianjun/Andy | 初学一级 | 园豆:25
提问于:2008-07-24 14:56
< >
分享
最佳答案
0
使用HttpContext.Current.CurrentHandler as Page 可以获得。 当然正如deerchao 所言,如果当前请求的Handler不是一个Page;则上面的表达式,会返回null;你可以在使用前做一个是否为null的判断。
玉开 | 大侠五级 |园豆:8822 | 2008-07-24 17:29
其他回答(2)
0
没有办法. 因为Asp.net可以支持不同的处理模型(IHttpHandler),可能某些模型里根本就没有"Page"这个概念. 建议你把所有的页面类都继承自一个自定义类MyPage,然后重写MyPage的某些事件处理函数(比如OnInit)里做需要的处理过程.
deerchao | 园豆:8367 (大侠五级) | 2008-07-24 16:06
0
不知道你为什么要在global中取得page 你在global中的什么事件里面处理? 如果是在httpHandler之前触发的事件那么page对象还没有存在,之后的事件的话page是否销毁..?没试验过 当然可以吧page放到上下文里 HttpContext.Current.Items["page"] = page; 在global里面再取出来用用HttpContext.Current.Items["page"] as Page 不过我是觉得没什么用了... 不知道我理解对了没有,就这么着了
無尽海 | 园豆:540 (小虾三级) | 2008-07-24 20:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册