比如后台管理所有页面都继承一个pagebase类,该类判断用户是否已经登陆public  class pagebase: System.Web.UI.Page
{
    public void Islogin()
    {   //获取COOKIE,判断用户是否登陆代码,略去 }
}
页面继承这个类
public partial class admin_index : pagebase
{
    protected void Page_Load(object sender, EventArgs e)
    {
      Islogin();//每个页面都要添加这个函数,麻烦。。能不能省略点这个函数,继承pagebase或引用命名空间时就自动执行这个函数?
    }
}

解决方案 »

  1.   

            protected override void OnLoad(EventArgs e)
            {
                try
                {
                    if (Session["memberid"] == null)
                    {
                        Session.Abandon();
                        Response.Write("<script>alert('用户登录超时,请重新登录!');top.location.href='" + ResolveUrl("~/login.aspx") + "';</script>");
                        Response.End();
                    }
                }
                catch(Exception ex)
                {
                    Response.Write("WEB服务通信出现异常,请尝试重新执行本次操作!<br/><b>详细信息:</b>" + ex.Message.ToString());
                    Response.End();
                }
                base.OnLoad(e);            
            }
    不要 public void Islogin() 这个。
      

  2.   

    直接写在PageBase里就行啦:public class PageBase : System.Web.UI.Page
    {
        protected override void OnLoad(EventArgs e)
        {
            //获取COOKIE,判断用户是否登陆代码,略去 
        }
    }
      

  3.   

    直接写在PageBase里的构造函数里,就可以了吧。无需在aspx.cs里再写了。你可以试试,我自己想的
      

  4.   

    我是这样写的不行public  class PageBase : System.Web.UI.Page
    {
        protected override void OnLoad(EventArgs e)
        {
      System.Web.HttpContext.Current.Response.Write("test!"); System.Web.HttpContext.Current.Response.End();
            base.OnLoad(e);  //这行去掉也不行
        }
    }
    主页面
    public partial class admin_index : PageBase 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
          
        }
    }页面admin_index执行结果并没有执行PageBase中的OnLoad。。没有打印出来字符串test
      

  5.   

    关键是admin_index 页面的Page_Load无须填写任何函数,而自动执行继承的PageBase 中的一个指定的函数。。
    上面给位给的代码页面继承后不能执行
      

  6.   

    倒,只是判断登录用.net的验证或者传票不得了
      

  7.   

    Islogin()做成返回值bool型的,调用它只是判断是否成立不就行了?反正每个页面都得写判断是否登录的语句呀