private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(Request.Cookies["USER_INFO"] != null)
{
HttpCookie cookie = Request.Cookies["USER_INFO"];
userName.Value = cookie.Values["USER_NAME"];
}
}private void submit_ServerClick(object sender, System.EventArgs e)
{
//判断是否是合法用户

//保存登录用户信息
string COOKIE_USER_NAME = userName.Value;
HttpCookie cookie = new HttpCookie("USER_INFO");
cookie.Values.Remove("USER_NAME");  //去除用户的上次登录信息
cookie.Values.Add("USER_NAME", COOKIE_USER_NAME); //重新写入cookie
Response.AppendCookie(cookie);
cookie.Expires = DateTime.MaxValue;
}
我想实现,去除用户的上次登录信息,重新写入新的用户登录信息。可总是显示第一次的用户登录信息,迷茫

解决方案 »

  1.   

    改成这样试试:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!this.IsPostBack)
    {
    if(Request.Cookies["USER_INFO"] != null)
    {
    HttpCookie cookie = Request.Cookies["USER_INFO"];
    userName.Value = cookie.Values["USER_NAME"];
    }
    }
    }private void submit_ServerClick(object sender, System.EventArgs e)
    {
    //判断是否是合法用户

    //保存登录用户信息
    string COOKIE_USER_NAME = userName.Value;
    HttpCookie cookie = new HttpCookie("USER_INFO");
    cookie.Values.Remove("USER_NAME");  //去除用户的上次登录信息
    cookie.Values.Add("USER_NAME", COOKIE_USER_NAME); //重新写入cookie
    Response.AppendCookie(cookie);
    cookie.Expires = DateTime.MaxValue;
    }
      

  2.   

    纠正一下:
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!this.IsPostBack)
    {
    if(Request.Cookies["USER_INFO"] != null)
    {
    HttpCookie cookie = Request.Cookies["USER_INFO"];
    userName.Value = cookie.Values["USER_NAME"];
    }
    }
    }private void submit_ServerClick(object sender, System.EventArgs e)
    {
    //判断是否是合法用户

    //保存登录用户信息
    string COOKIE_USER_NAME = TextBox1.Text; //用userName.Value就是取上次数据,没有改变,当然显示第一次登录的信息了,赋成用户填入的信息就可以了。
    HttpCookie cookie = new HttpCookie("USER_INFO");
    cookie.Values.Remove("USER_NAME");  //去除用户的上次登录信息
    cookie.Values.Add("USER_NAME", COOKIE_USER_NAME); //重新写入cookie
    Response.AppendCookie(cookie);
    cookie.Expires = DateTime.MaxValue;
    }
      

  3.   

    System.Web.Security
    登录
    Formsauthentication.RedirectFromLoginPage(txtname.Text,boolean)
    or 
    Formsauthentication.SetAuthoCookie(txtname.Text,boolean)
    其中的boolean控制是否建立永久cookie !注销
    Formsauthentication.SignOut()
      

  4.   

    谢谢蜀山棋侠!
    TextBox1.Text是什么?我用的是userName呀。你说的是userName.Text吗?没有这个属性呀!
      

  5.   

    我用的是html控件,而你说的是web控件吧?好像web控件是用Text,而html控件是用Value。
      

  6.   

    终于找到问题所在,还是逻辑的问题。加一个全局变量userNameText来存取userName.Value值就可。
    protected string userNameText;
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    if(!this.IsPostBack)   //非提交页面
    {
    if(Request.Cookies["USER_INFO"] != null)
    {
    HttpCookie cookie = Request.Cookies["USER_INFO"];
    userName.Value = cookie.Values["USER_NAME"];
    }
    }
    else    //提交页面
    {
    userNameText = userName.Value;
    }
    } private void submit_ServerClick(object sender, System.EventArgs e)
    {
    //判断是否是合法用户

    //保存登录用户信息
    string COOKIE_USER_NAME = userNameText;
    HttpCookie cookie = new HttpCookie("USER_INFO");
    cookie.Values.Remove("USER_NAME");
    cookie.Values.Add("USER_NAME", COOKIE_USER_NAME);
    Response.AppendCookie(cookie);
    cookie.Expires = DateTime.MaxValue;
    }
    可惜不能自已给自已分呀。