登录的用户的用户名和密码放在session或cookie里
每次跳转别一个页面时,都要判断session或cookie,是否超时或没有登录,这样很麻烦~~可不可以只判断一次后,在跳转页面时就能知道用户已经超时~~最好能给个小的例子~~分不够我在再加分~`

解决方案 »

  1.   

    干脆用session算了,超时会消失,变成null值的.cookie本来就是为了持久登录用的.
      

  2.   

    用母版页...空的母版页...此母版页只为了做判断的...
    或者在一个空白位置嵌一个ifrome里面装一个空的aspx(只为了做判断的)PS:方法要注意ifrome的长宽均为1个像素
      

  3.   

    使用MasterPage,在MasterPage里面做判断
    或者新建一个类,继承Page类,在类里做判断,每一个页面都继承这个类
      

  4.   

    只判断session,超时就没了。 session存在再取cookie值 
      

  5.   

    补充:ifrome判断后如果不在登陆状态需要带URL参数刷新父页..如父页需要保留一些数据那此法不可为
      

  6.   

    我记得在web.config中能自动判断session的。如果超时自动跳转到指定页面。
      

  7.   


    只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态源错误: 
    行 19:  public ap()
    行 20:  {
    行 21:  if(Session["a"]==null)
    行 22:  {
    行 23:  Response.Write ("<script>alert('用户登录已超时,请重新登录');window.location.href='test.aspx'</script>");
     源文件: C:\Inetpub\wwwroot\Wccccc\ap.cs    行: 21 会话状态是真的啊~~怎么会出这样的错啊
      

  8.   

    直接用MemberShip吧。是否超时都可以计算。缓存时间的长短可以设置。
      

  9.   


    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace Wccccc
    {
    /// <summary>
    /// ap 的摘要说明。
    /// </summary>
    public class ap:System.Web .UI .Page 
    {
    public ap()
    {
    if(Session["a"]==null)
    {
    Response.Write ("<script>alert('用户登录已超时,请重新登录');window.location.href='test.aspx'</script>");
    }
    }
    }
    }
    就这一点代码~~~
      

  10.   

    在web.config中加了下面一句: <pages enableSessionState="true" />
      

  11.   

    不要写在构造函数中,进入构造函数的时候还没到Asp.net的页面生命周期,所以是读不到Session的,尝试一下以下代码:namespace Wccccc
    {
        public class ap: System.Web.UI.Page
        {
            public ap()
            {
                
            }        protected override void OnLoad(EventArgs e)
            {
                base.OnLoad(e);
                if (Session["a"] == null)
                    ClientScript.RegisterClientScriptBlock(this.GetType(), "TimeOut", "alert('Session Time out');", true);
            }
        }
    }