login.aspx  初始session然后每个页面如果session == null Response.Redirect login.aspx有没有个简单的方法,不用在每个页面写 if(session == null) ....只在一个地方写if(session == null) ... 不用在每个页面写if(session == null) ...  

解决方案 »

  1.   

    自定义一个基类页public class PageBase : System.Web.UI.Page
    {
          protected overrider OnInit(EventArgs e) {
                  // if(Session .....
           }
    }然后所有 .aspx.cs/.aspx 继承此页面
      

  2.   

    方案二,开发一个用户控件, 托拽到需要验证的 aspx 上public class AuthControl : System.Web.UI.UserControl
    {
    protected overrider OnInit(EventArgs e) {
    // if(Session .....
    }
    }
      

  3.   

    我现时的做法.新建一个Basepage.cs,而这个BasePage.cs继承一个System.Web.UI.Page
    如:
    public class BasePage : System.Web.UI.Page然后你可以在BasePage类别中写你整个专案共用的属性,方法和函数,如我常用的几个方法.
      //验证是否成功登录
            public bool LoginOk
            {
                get
                {
                    return (Session["LoginOk"] != null && (bool)Session["LoginOk"]);
                }
                set
                {
                    Session["LoginOk"] = value;
                }
            }   //登录验证
            public void LoginAuthorizationed()
            {
                if (!LoginOk)
                {
                    Response.Redirect("~/Login.aspx");
                }
            }等.最后,你可以在需要共用的页面,继承这个BasePage类别即可.
      

  4.   

    方案三考虑插入一个 HttpModule 验证之初学者,先用 LS 两种吧, HttpModule 以后慢慢研究
      

  5.   

    有点不明白 
    aspx.cs/.aspx 怎么样继承?public class 其它页面 : PageBase  ?
      

  6.   

    public class 其它页面 : 基类  ? 是这样吗?
      

  7.   

    public class BasePage : System.Web.UI.Page
    {}public class YourPage : BasePage
    {}
      

  8.   

    using System;namespace hroa
    {
    /// <summary>
    /// Basepage 的摘要说明。
    /// </summary>
    public class Basepage: System.Web.UI.Page
    {
    public Basepage()
    {

    //if(Session["权限"].ToString() ==null)
                                    //  {..}

    System.Web.HttpContext.Current.Response.Write("<script>alert('请登陆')</script>");

    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    }
    }
    不用Session没问题如果用Session报错
    只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态试了
    <%@ Page EnableSessionState="True"%><configuration>
    <system.web>
       <pages enableSessionState="true" />
    </system.web>
    </configuration>
    都不管用
      

  9.   

    最简单是在web.config中,配置拒绝匿名用户访问吧?
      

  10.   

    楼上几位已经说的很清楚了
    PS:不建议if(session == null) ...  这样的写法
    最好用正则表达式验证会更严谨些
      

  11.   

    if(Session["权限"].ToString() ==null)
    ====================================
    if(Session["权限"] == null)如果你的Session["权限"]为null,那么ToString()的时候肯定要报空引用异常的
      

  12.   

    octverve(无人无我观自在,非空非色见如来--炎之脉) ( ) 信誉:100  2007-08-03 
     
       大家都说绝了,我只能顶了。
    ============================================================================引自
      

  13.   

    1.继承
    public class Basepage: System.Web.UI.Page
    {
    public Basepage()
    {

    //if(Session["权限"].ToString() ==null)
                                    //  {..}

    System.Web.HttpContext.Current.Response.Write("<script>alert('请登陆')</script>");

    //
    // TODO: 在此处添加构造函数逻辑
    //
    }
    }
    2.写登陆控件