登陆成功后 Session["ReaderName"] = textbox1.text;
在我没有关闭浏览器的情况下,我重新打开一个同样的叶面.
if(Session["ReaderName"]!= null)
{
Label2.Text = "欢迎您 " + Session["ReaderName"].ToString();}居然没有用?? 根本没有我想要的效果显示    "欢迎您 XXX "

解决方案 »

  1.   

    重新打开一个同样的叶面,seesionid已经改变,也就相当于另一个用户所以,无法访问另一个用户的值
      

  2.   

    同意 justdoit006(我的心太乱) ( ) 
    要实现你的功能,只有把信息放入cookie中了
      

  3.   


    登陆成功后Response.Cookies["ReaderName"].Value = textbox1.text;
    在我没有关闭浏览器的情况下,我重新打开一个同样的叶面.
    HttpCookie cookie =  Request.Cookies["ReaderName"];

    if(cookie==null)
    {
    Label2.Text = "欢迎您 游客";
    }
    else
    {
    Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
    }
    还是没有用?? 根本没有我想要的效果显示    "欢迎您 XXX "
      

  4.   

    老兄,我在用php的时候碰到过同样问题,只是想实现 欢迎xxx 的简单功能
    php的session通过cookie保存session id,所以下次只要判断cookie里是否存在session id就可以了,而且不会变。
    你可以借鉴一下,我为了生活也在学asp.net,感觉和asp差别还是满大的
    唉,没好好学习vb,现在觉得好吃亏。
      

  5.   

    我换成cookie 之后发现
    第一个页面登陆成功后 我如果右边键盘打开新页面,可以显示欢迎您XXX但是我如果新打开一个主页面的话就不可以显示了
      

  6.   


    好比就是此cookie只能够在基于那一个页面中读取打开新的页面就不可以了
      

  7.   

    不好意思,不能用cache。用cache的话所有用户共享,不是你想要得了
      

  8.   

    是不是你的cookie没有发送到客户端阿?
    if (Request.Cookies["ReaderName"] == null) {
            HttpCookie cookie = new HttpCookie("ReaderName");
            cookie.Values.Add("ForeColor", "black");
            ...
            Response.AppendCookie(cookie);
        }
      

  9.   

    调用的时候:
    protected String GetStyle(String key) {
      HttpCookie cookie = Request.Cookies["preferences1"];
      if (cookie != null) {
        switch (key)
        {
          case "ForeColor" : return cookie.Values["ForeColor"]; break;
          ...
        }
      }
      return "";
    }
    Protected Function GetStyle(key As String) As String
      Dim cookie As HttpCookie = Request.Cookies("preferences1")
      If cookie <> Null Then
        Select Case key
          Case "ForeColor"
            Return(cookie.Values("ForeColor"))
          Case ...
        End Select
      End If
      Return("")
    End Function
    protected function GetStyle(key:String) : String {
      var cookie:HttpCookie = Request.Cookies("preferences1");
      if (cookie != null) {
        switch (key)
        {
          case "ForeColor" : return cookie.Values("ForeColor"); break;
          ...
        }
      }
      return "";
    }
      

  10.   

    首页!
    string str_User="欢迎您 XXX "
    Session.Add("UserName",str_User);
    Response.Redirect("index.aspx");index.aspx页面
    LabelComUsr.Text = "[" + Session["UserName"].ToString() + "]";这些都写到CS文件当中
      

  11.   


    HttpCookie cookie =  Request.Cookies["ReaderName"];

    if(cookie==null)
    {
    Label2.Text = "欢迎您 游客";
    }
    else
    {
    Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
    }没道理啊,我同样的代码,当前登陆页面可以显示  欢迎您 XXX 只不过重新打开一个页面,在Page_Load里再次调用就无法显示??
      

  12.   

    而且我第一个登陆页面还没有关闭,cookie应该还在
      

  13.   

    你打开多个浏览器,就会有多个会话。但要是在你打开的浏览器中新打开一个窗口的话情况不一样,他们是维持一个session.
      

  14.   

    你打开的多个浏览器在本地都会有各自不同的一个key,在请求服务器的时候,就会以这个key来取得各自的session
      

  15.   

    但是我用的不是 session
    HttpCookie cookie =  Request.Cookies["ReaderName"];

    if(cookie==null)
    {
    Label2.Text = "欢迎您 游客";
    }
    else
    {
    Label2.Text = "欢迎您 " + Request.Cookies["ReaderName"].Value;
    }
    我如上,用的是cookie啊
      

  16.   

    if(Session["ReaderName"]!= "")
    {
        Label2.Text = "欢迎您 " + Session["ReaderName"].ToString();
    }
    //你要用Session["ReaderName"]!= "" 而不能用Session["ReaderName"]!= null 切記!