1.效果和原理
原理是利用Asp.net的Cookies。選中CheckBox,把輸入的用戶名和密碼用Cookies存儲起來,設置過期時間7天,超過時間自動清除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; } } }
首先判斷頁是第一次呈現還是為了響應回發而加載,如果不是為了響應回發加載,如果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(); }
提交按鈕的事件。
首先設置cookie的時間為-1,然后如果Checkbox選中了,就保存Cookies的信息7天。
然后把Textbox的值賦給Cookies。