首页 新闻 会员 周边

vs2005的Global.asax文件中要添加一个开始执行处理页之前的事件

0
悬赏园豆:20 [已解决问题] 解决于 2008-07-24 15:02
<P>vs2005的Global.asax文件中要添加一个开始执行处理页之前的事件,应该这样做?</P> <P>在2005中是这样的</P> <P>public Global()<BR>{<BR>&nbsp;&nbsp;&nbsp;InitializeComponent();</P> <P>}&nbsp;</P> <P>private void InitializeComponent()<BR>{&nbsp;&nbsp;&nbsp;&nbsp;<BR>this.components = new System.ComponentModel.Container();<BR>this.PreRequestHandlerExecute += new System.EventHandler(this.CheckLogin);//在转到请求的页面之前执行CheckLogin事件!<BR>}</P>
问题补充: 在2003中是写在cs文件中的 Page TargetPage = ((sender as HttpApplication).Context.Handler) as Page 在2005中不能得到请求页面的对象??(null) protected void Application_BeginRequest(object sender, EventArgs e) { bool logined = true; /*UserBean user ; user = UserDao.getUserInfo("Admin"); Session.Add("user",user);*/ Page TargetPage = ((sender as HttpApplication).Context.Handler) as Page;//获取当前请求的页面,HttpApplication 类,定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。此类是由用户在 global.asax 文件中定义的应用程序的基类。即在此定义的该类中的方法、属性和事件,所有页面都能用。 //备注:此类的实例是在 ASP.NET 基础结构中创建的,而不是由用户直接创建的。一个实例在其生存期内被用于处理多个请求,但它一次只能处理一个请求。这样,成员变量才可用于存储针对每个请求的数据。 if (TargetPage == null) return; string TargetPageName = TargetPage.ToString().Replace("_ASP.", "").Replace("ASP.", "").Replace("_aspx", ""); if (!(TargetPageName.ToUpper().Equals("LOGIN") || TargetPageName.ToUpper().Equals("NOTLOGINED") || TargetPageName.ToUpper().Equals("FORGETPWD") || TargetPageName.ToUpper().Equals("CREATECODE") || TargetPageName.ToUpper().Equals("ENCRYPT") || TargetPageName.ToUpper().Equals("HASNORIGHTS") || TargetPageName.ToUpper().Equals("LOGOUT"))) { try { if (Session["user"] == null) logined = false; else if (((ZCSY.Commer.Bean.UserBean)Session["user"]).ID <= 0) logined = false; } catch { logined = false; } } if (logined == false) Response.Redirect(ZCSY.Commer.Utity.Config.APPRootName + "NotLogined.aspx"); }
zjianjun/Andy的主页 zjianjun/Andy | 初学一级 | 园豆:25
提问于:2008-07-24 10:48
< >
分享
最佳答案
0
protected void Application_BeginRequest(object sender, EventArgs e) { .... }
deerchao | 大侠五级 |园豆:8367 | 2008-07-24 11:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册