BasePage基类
                                2011-1-7 14:23:04 - tanlixiao
                           
                           
                          一般我们管理系统的后台程序页面是由权限限制的,但是我们不可能在每个限制的页面进行权限的判断,所以我们就定义一基类,在页面加载前进行判断是否登陆或是否有权限打开本页面,就定义一基类BasePage,后台需要判断权限的页面就继承它,也可以在这页面加监控代码;
      一般我们管理系统的后台程序页面是由权限限制的,但是我们不可能在每个限制的页面进行权限的判断,所以我们就定义一基类,在页面加载前进行判断是否登陆或是否有权限打开本页面,就定义一基类BasePage,后台需要判断权限的页面就继承它,我们也可以在这页面加监控,当页面报错时可在这页面处理;
代码如下:
public class BasePage : System.Web.UI.Page
    {
        public static 
string domain = 
System.Configuration.ConfigurationManager.AppSettings["URL"].ToString();
        
public static string cssdomain = 
System.Configuration.ConfigurationManager.AppSettings["cssPath"].ToString();
        
public static string jsdomain = 
System.Configuration.ConfigurationManager.AppSettings["jsPath"].ToString();
        
public static string imgdomain = 
System.Configuration.ConfigurationManager.AppSettings["imgPath"].ToString();
protected void Page_PreInit(object obj, EventArgs args)       
{
   if(Session["sessionName"]==null){
      Response.Redirect("logout");
     }
}
 #region 出错处理
 protected override void OnInit(EventArgs e)
 {
            this.Error  = new System.EventHandler(this.Page_Error);
            base.OnInit(e);
        
  }
  public static Hashtable ErrorTable = new Hashtable();
        
protected void Page_Error(object sender, System.EventArgs e)    
{
  try
   {
     Exception ex = Server.GetLastError();
     string url = Request.Url.AbsolutePath;
     string msg = ex.Message;
     if (ErrorTable.Contains(url)) { return; }
     else
      {
        //没找到
        ErrorTable.Add(url, msg);
       }
      if (Request.Form != null)
       {
         if (Request.Form.ToString().Length > 8800) { 
            msg  = System.Environment.NewLine    "接收Form:"    
            Server.UrlDecode(BComm.GetPreSubString(Request.Form.ToString(), 100)    "..."    
            BComm.GetEndSubString(Request.Form.ToString(), 2000)); }
        else { 
          msg  = System.Environment.NewLine                
            "接收Form:"   Server.UrlDecode(Request.Form.ToString()); }
          }
        if (Request.QueryString != null)
                    msg  = System.Environment.NewLine   
                        "接收QueryString:"  Server.UrlDecode(Request.QueryString.ToString());
         if (Request.UrlReferrer != null)
                {
                    msg  = System.Environment.NewLine   "来源:"   
                    Request.UrlReferrer.AbsoluteUri;
                }
                
               //发送邮件
                System.Text.StringBuilder sbMM = new System.Text.StringBuilder();
                sbMM.Append(url  System.Environment.NewLine msg);
                sbMM.Append(System.Environment.NewLine   
                ex.StackTrace.ToString());
                
                BComm.SendEmailTo(sbMM.ToString());
            }
            catch (Exception exe)
            {
                string aa = exe.Message;
            }
        }
        #endregion
    }
标签:BasePage