C# 如何实现记住密码功能?

protected void Page_Load(object sender, EventArgs e)

{

HttpCookie cookies = Request.Cookies["platform"];

//判断是否有cookie值,有的话就读取出来

if (cookies != null && cookies.HasKeys)

{

tbxUserName.Text = cookies["Name"];

//tbxPwd.Text= cookies["Pwd"];

tbxPwd.Attributes.Add("value", cookies["Pwd"]);

this.chkState.Checked = true;

}

}

protected bool getUser()

{

string userName = tbxUserName.Text.Trim();//用户名

string userPwd = FormsAuthentication.HashPasswordForStoringInConfigFile(tbxPwd.Text.Trim(), "MD5"); //MD5密码

StringBuilder strWhere=new StringBuilder();

strWhere.AppendFormat("auserName='{0}' and auserPassword='{1}'", userName, userPwd);

bl.A_TUser user = new bl.A_TUser();

DataSet ds = new DataSet();

ds=user.GetList(strWhere.ToString());

if (ds.Tables[0].Rows.Count>0)

{

if (chkState.Checked)//记录cookie值

{

HttpCookie cookie = new HttpCookie("platform");

cookie.Values.Add("Name", tbxUserName.Text.Trim());

cookie.Values.Add("Pwd", tbxPwd.Text.Trim());

cookie.Expires = System.DateTime.Now.AddDays(7.0);

HttpContext.Current.Response.Cookies.Add(cookie);

}

//else

//{

// if (Response.Cookies["platform"] != null)

// Response.Cookies["platform"].Expires = DateTime.Now;

//}

Session["userId"] = ds.Tables[0].Rows[0][0].ToString();

Session["userName"] = ds.Tables[0].Rows[0][1].ToString();

return true;

}

return false;

}

protected void btnLogin_Click(object sender, EventArgs e)

{

if (getUser())

{

Response.Redirect("Default.aspx");

}

else

{

MessageBox.Show(this, "用户名和密码不正确");

}

}