Asp.Net登陆记住用户功能实现
1.效果和原理
?
原理是利用Asp.net的Cookies。選中CheckBox,把輸入的用戶名和密碼用Cookies存儲起來,設(shè)置過期時(shí)間7天,超過時(shí)間自動清除Cookie信息。
2.前臺代碼
<div><asp:Label ID="Label1" runat="server" Text="用戶名"></asp:Label><asp:TextBox ID="Name" runat="server"></asp:TextBox><br /><asp:Label ID="Label2" runat="server" Text="密碼"></asp:Label><asp:TextBox ID="PassWord" TextMode="Password" runat="server"></asp:TextBox><br /><asp:CheckBox ID="CheckBox1" runat="server" /> <br /><asp:Button ID="Button1" runat="server"Text="登陸" OnClick="Btn_Click"/></div>?
?
3.后臺代碼
protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){if (Request.Cookies["Name"] != null && Request.Cookies["Password"] != null){this.Name.Text = Request.Cookies["Name"].Value;this.PassWord.Attributes["value"] = Request.Cookies["Password"].Value;}}}?
首先判斷頁是第一次呈現(xiàn)還是為了響應(yīng)回發(fā)而加載,如果不是為了響應(yīng)回發(fā)加載,如果Cookies存儲的用戶名不是空且密碼也不是空。那么把cookies存儲的信息顯示到TextBox上。
protected void Btn_Click(object sender, EventArgs e){Response.Cookies["Name"].Expires = DateTime.Now.AddDays(-1);Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(-1);if (CheckBox1.Checked){Response.Cookies["Name"].Expires = DateTime.Now.AddDays(7);Response.Cookies["PassWord"].Expires = DateTime.Now.AddDays(7);}Response.Cookies["Name"].Value = this.Name.Text.Trim();Response.Cookies["PassWord"].Value = this.PassWord.Text.Trim();}?
*解決中文亂碼
//對字符串進(jìn)行 URL 編碼,并返回已編碼的字符串。
Response.Cookies["Name"].Value = System.Web.HttpContext.Current.Server.UrlEncode( this.name.Text.Trim());
//對字符串進(jìn)行 URL 解碼并返回已解碼的字符串。
this.name.Text = System.Web.HttpContext.Current.Server.UrlDecode(Request.Cookies["Name"].Value);
?
?
?
?
提交按鈕的事件。
首先設(shè)置cookie的時(shí)間為-1,然后如果Checkbox選中了,就保存Cookies的信息7天。
然后把Textbox的值賦給Cookies。
轉(zhuǎn)載于:https://www.cnblogs.com/zoujinhua/p/10458255.html
總結(jié)
以上是生活随笔為你收集整理的Asp.Net登陆记住用户功能实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt OpenGL裁剪测试
- 下一篇: 设计模式(第四式:建造者模式)