====ASP.NET中session的timeout设置时间达到后和在配置文件中对Session_End使用session清空方法均不起作用的问题,高手帮忙====如下方法依旧不行,打开网页刷新后依然能输出原有的SESSION值!
private void Page_Load(object sender, System.EventArgs e)
{


if(!IsPostBack)
{
binddata();
Session["member"]="lihongge"; TextBox1.Text=Session["member"].ToString();
}
Session["member"]=null;

}

解决方案 »

  1.   

    我也是这中情况,start里面的可以执行
      

  2.   

    高手呢!!!!帮忙啊.急.现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11现在对CSDN太失望了!!!!!!!!!!!!!!!!!!!!!!!!!!!!11
      

  3.   

    问题出现在这里:if(!IsPostBack)
    如果你把if(!IsPostBack)曲调的话就可以解决了,因为你在session有效的时候就把session的值给了TextBox1.Text,而当session无效的时候又没有对TextBox1的值进行改变,所以当然会出现你上面的情况了
      

  4.   

    dnboy(computerboy不对啊.因为你在session有效的时候就把session的值给了TextBox1.Text,而当session无效的时候又没有对TextBox1的值进行改变,所以当然会出现我上面的情况.可是TextBox1.Text是引用的session的值,session无效后textbox1.text应该自动为空啊!!!再说session_end事件里我还写了SESSION清空的方法.
    Session.Abandon();方法也不行!!!
      

  5.   

    private void Page_Load(object sender, System.EventArgs e)
    {


    if(!IsPostBack)
    {
    binddata();
    }
                               Session["member"]="lihongge";
    TextBox1.Text=Session["member"].ToString();
    Session["member"]=null;

    }
      

  6.   

    if(!IsPostBack)
    你是回发页面啊,不会再执行
    binddata();
    Session["member"]="lihongge";TextBox1.Text=Session["member"].ToString这几句啊,所以空也没关系照样会有值啊,不明白?看看IsPostBack的描述
      

  7.   

    我故意要Session["member"]="lihongge";不执行的啊,在载入第一次的时候才执行,SESSION的TIMEOUT设置为1分钟超时,等打开网页后再按刷新不再执行Session["member"]="lihongge";,就不给SESSION再赋值看看SESSION清空没有,事实证明SESSION的值在TIMEOUT超时后还没有被清,依然能读出SESSION的值!
      

  8.   

    TextBox1.Text是引用的session的值,session无效后textbox1.text应该自动为空啊!!!  ??
    用其它方法檢驗一下就知道啦!
    比如用alert重新調用一下session的值,看看還有沒有.
      

  9.   

    哪里有使用session做验证的ASPX小项目让我下载下来研究研究?感激不尽!或发到我的信箱里:
    [email protected]
      

  10.   

    private void Page_Load(object sender, System.EventArgs e)
    {


    if(!IsPostBack)
    {
    binddata();
    Session["member"]="lihongge"; TextBox1.Text=Session["member"].ToString();
    }
                               else
                               {
    TextBox1.Text=string.Empty;
                               }
    Session["member"]=null;

    }
      

  11.   

    说实话没人能看懂你的程序
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    binddata();
    Session["member"]="lihongge";//Session在这里被赋值
    TextBox1.Text=Session["member"].ToString();//在这里输出,也就是说在这一句话被执行的时候,Session永远有值。
    }
    Session["member"]=null;//到这里Session被清掉,换言之,不管怎样,这个页面显示出来后,Session就没了,因为这里总是会执行。
    }
    结论,无法了解你这段程序向证明什么,能证明什么。他的输出结果永远是文本框里面一个"lihongge"。
    因为回发所有的控件值由ViewState保存,所以不论回发多少次,等多久,文本框里面永远都是"lihongge"
      

  12.   

    楼主的代码有问题
    private void Page_Load(object sender, System.EventArgs e)
    {
    if(!IsPostBack)
    {
    binddata();
    Session["member"]="lihongge"; //就算timeout了,这里又再次给session赋值。
    TextBox1.Text=Session["member"].ToString();
    }
    Session["member"]=null;
    }改改:
    private void Page_Load(object sender, System.EventArgs e)
    {
    if( Session["member"] == null ) //看看session空的吗?
    {
    TextBox1.Text= "NULL"; //空的说一下
    Session["member"] = "Assign Value"; //给个值
    }
    else
    {
    TextBox1.Text= (string)Session["member"];//不空的话显示内容
    }
    }预期结果:
       第一次访问:显示NULL
       第二次访问:显示Assign Value
       每次访问都是 Assign Value
       等timeout访问:NULLOK?
      

  13.   

    我认为楼主要看看IsPostBack属性的含义
    可能是这个属性没搞明白
    大家都会犯错,晓得原因就好了~~
      

  14.   

    楼主还有,session虽然已经被清掉了,可是在清空之前已经把值赋给了textbox,而且textbox的值也不能实时的跟着session变啊
      

  15.   

    请问,为什么textbox的值不会跟着变吗?我把viewstate设置为假也不行.为什么呢,不是刷新后会重新给它赋新值的吗
      

  16.   

    我晕,你怎么就不知道看看IsPostBack的用法呢?Page.IsPostBack 属性  全部显示
    获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。如果是为响应客户端回发而加载该页,则为 true;否则为 false。
    示例
    [Visual Basic, C#, JScript] 下面的示例测试 IsPostBack 属性的值以在加载了 Page 时按条件为所有验证服务器控件调用 Page.Validate 方法。
    [Visual Basic] 
    Sub Page_Load
        If Not IsPostBack
            ' Validate initially to force the asterisks
    ' to appear before the first roundtrip.
            Validate()
        End If
    End Sub[C#] 
    void Page_Load() {
        if (!IsPostBack) {
            // Validate initially to force asterisks
    // to appear before the first roundtrip.
            Validate();
        }
    }
      

  17.   

    if(!IsPostBack)
    {
    binddata();
    Session["member"]="lihongge";
    }
    TextBox1.Text=Session["member"].ToString();哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....哈,好高兴啊....突然间恍然大悟,我的目的是通过这个小程序测试SESSION是否效,但因为一个小问题困绕了我3天.原来我以为打开这个网站后再等到超时后的时间(我设的是1分钟)再刷新该页,就不会执行!ispostback里面的语句,也就不会再给session赋值,再看刷新后textbox1的输出是否清空了.没想到我这么想的是错误的,其实是只要打开该网页等超时后再刷新还会执行ispostback里面的,因为打开该页后我没有回发数据,!ispoback就为真的,所以就是执行!!!!!!大家以后要注意哈!!!