記住這些信息,可以使用Cookie來實現,更多Cookie應用,可參考http://www.cnblogs.com/insus/articles/2055310.html 或http://www.cnblogs.com/insus/articles/2055531.html
現在我們來模擬一個登錄介面:

<table> <tr> <td style="width: 15%; text-align: right;"> User Name </td> <td> <asp:TextBox ID="TextBoxUserName" runat="server"></asp:TextBox> </td> </tr> <tr> <td style="text-align: right;"> Password </td> <td> <asp:TextBox ID="TextBoxPassword" TextMode="Password" runat="server"></asp:TextBox> </td> </tr> <tr> <td style="text-align: right;"> Remember me </td> <td> <asp:CheckBox ID="CheckBoxRememberMe" runat="server" /> </td> </tr> <tr> <td style="text-align: right;"> </td> <td> <asp:Button ID="ButtonLogin" runat="server" Text="Login" OnClick="ButtonLogin_Click" /> </td> </tr> </table>
我們要判斷用戶在點銨鈕的Click事件時,是否有選擇Remember me這個CheckBox,如果選中了,要把這個登錄的信息記錄至Cookie,還要把Cookie的過期時間設置7天之后過期。反之,只把登錄的信息記錄入Cookie之中,不設置Cookie的過期時間。可以參考下面的登錄事件代碼:

protected void ButtonLogin_Click(object sender, EventArgs e) { Response.Cookies["Name"].Expires = DateTime.Now.AddDays(-1); Response.Cookies["Password"].Expires = DateTime.Now.AddDays(-1); if (CheckBoxRememberMe.Checked) { Response.Cookies["Name"].Expires = DateTime.Now.AddDays(7); Response.Cookies["Password"].Expires = DateTime.Now.AddDays(7); } Response.Cookies["Name"].Value = this.TextBoxUserName.Text.Trim(); Response.Cookies["Password"].Value = this.TextBoxPassword.Text.Trim (); }
接下來,你還得在Page_load中去讀取Cookie.

protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.Cookies["Name"] != null && Request.Cookies["Password"] != null) { this.TextBoxUserName.Text = Request.Cookies["Name"].Value; this.TextBoxPassword.Attributes["value"] = Request.Cookies["Password"].Value; } } }
看看操作演示,演示中有三種狀態演示,第一種是沒有點選CheckBox,這樣的話,關閉窗口,下次再打開時,沒有記住登錄的信息。
第二是點選擇了CheckBox,這樣下次再打開窗口,還可以看到帳號與密碼存儲在相應的文本框中,這都是Cookie沒有過期。
第三種,再點一次登錄,沒有點選remember me的CheckBox,這樣系統又移除了Cookie: