再页面中有一个显示用户名称的信息。当点击注销后,就把Session赋值为null,但是这时界面不自动刷新,界面上仍然显示用户的信息。只有点击一下ie的刷新按钮,用户信息才会去掉。
请问:如何修改代码,使我不用点击刷新就可以去掉用户信息。

解决方案 »

  1.   

    你点击注销之后,应当是有一个提交的过程吧,在注销事件执行之后,你用如下语句:
    this.response.redirect("你现在的页面");
    this.response.end();
    把页面进行重定向,让显示用户信息的控件重新加载一次(因为你的显示用户信息的控件可能是写在!ispostback()里面)
      

  2.   

    首先,不要用等号给Session赋值,用Add赋值。
    下面就是hchxxzx提供的方法了,也可以用Server.Transfer("yourpage.aspx");
      

  3.   

    还是不行。
    我的用户信息在一个用户控件中。有3个窗体(a,b,c)使用该控件。
    问题1:不能直接使用Response.Redirect(“”),因为我要返回当前这个窗体。如何设置。
    问题2:如果在a窗体中,使用上面的方法重定向到A,注销后,A的用户信息不显示了,但是直接在地址栏中输入B的地址,发现用户信息有出来了。
    显示信息的代码在不在!page。ispostbackup()中都不行,把赋值Session改为Add也不好用。
      

  4.   

    private void btnClearResults_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
    Session.Remove("search");
                               //清除后你重新绑定数据了吗??
                               ds****=(DataSet)Session["search"];
    grd****.DataSource=ds****;
    grd****.DataBind();

    }
      

  5.   

    登陆窗体中的登陆按钮代码用的是: Session.Add("Userno",UserNo);
                                         Session.Add("username",username);控件中的注销按钮代码:
    private void LB_Loginout_Click(object sender, System.EventArgs e)
    {
    Session.Remove("Userno");
                               Session.Remove("username");
    Session.Abandon();
    Response.Redirect("f_main.aspx");
    Response.End(); }
    控件窗体的Load事件代码: private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    //决定显示用户登陆,还是用户信息。
    if (Session["userno"] != null )
    {
    //当前已经有用户登陆。
    HL_Yhm.Text=Session["username"].ToString();
    }
    else
    {
    //当前没有用户登陆。
                                                  HL_Yhm.text="游客";

    } }
      

  6.   

    你这上面写的两个事件,page_load事件早于注销按钮事件发生,所以,页面注销之后,如果不转向,信息仍然存在;
    但如果使用 转向仍然如此,那就是你的浏览器可能没有设置好.
    你可如下:
    1.将当前page-load里面赋值的语句搬到LB_Loginout_Click事件中去.
    2.查看你浏览器设置,工具-选项-设置,看是否选择"自动"
    3.清空你的缓存.
    4.如果还不行,在注销事件最后面,写一个脚本如下:
    this.response.write("<script>window.location.href=window.location.href;</script>");
    this.response.end();