程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> 登錄時記住用戶名和密碼及cookie案例應用

登錄時記住用戶名和密碼及cookie案例應用

編輯:ASP.NET基礎

登錄樣子,可以參考某一論壇的登錄介面:

 

記住這些信息,可以使用Cookie來實現,更多Cookie應用,可參考
http://jb51.net/article/33590.htm
http://jb51.net/article/33591.htm
現在我們來模擬一個登錄介面:
復制代碼 代碼如下:
<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:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved