登陸時,記住用戶的賬號密碼

記住這些信息,能夠使用Cookie來實現,更多Cookie應用,可參考http://www.cnblogs.com/insus/articles/2055310.html 或http://www.cnblogs.com/insus/articles/2055531.htmlhtml

如今咱們來模擬一個登陸介面:this

View Code
 <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>


運行時的效果:
3d

 

咱們要判斷用戶在點銨鈕的Click事件時,是否有選擇Remember me這個CheckBox,若是選中了,要把這個登陸的信息記錄至Cookie,還要把Cookie的過時時間設置7天以後過時。反之,只把登陸的信息記錄入Cookie之中,不設置Cookie的過時時間。能夠參考下面的登陸事件代碼:code

View Code
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.server

View Code
 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:htm

相關文章
相關標籤/搜索