Asp.Net登陸記住用戶功能實現


1.效果和原理

2014-04-14_223024

 

原理是利用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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM