登錄時(shí)記住用戶名和密碼及cookie案例應(yīng)用
登錄樣子,可以參考某一論壇的登錄介面:
記住這些信息,可以使用Cookie來(lái)實(shí)現(xiàn),更多Cookie應(yīng)用,可參考
http://jb51.net/article/33590.htm
http://jb51.net/article/33591.htm
現(xiàn)在我們來(lái)模擬一個(gè)登錄介面:
<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>
運(yùn)行時(shí)的效果:

我們要判斷用戶在點(diǎn)銨鈕的Click事件時(shí),是否有選擇Remember me這個(gè)CheckBox,如果選中了,要把這個(gè)登錄的信息記錄至Cookie,還要把Cookie的過(guò)期時(shí)間設(shè)置7天之后過(guò)期。反之,只把登錄的信息記錄入Cookie之中,不設(shè)置Cookie的過(guò)期時(shí)間。可以參考下面的登錄事件代碼:
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 ();
}
接下來(lái),你還得在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;
}
}
}
看看操作演示,演示中有三種狀態(tài)演示,第一種是沒(méi)有點(diǎn)選CheckBox,這樣的話,關(guān)閉窗口,下次再打開(kāi)時(shí),沒(méi)有記住登錄的信息。
第二是點(diǎn)選擇了CheckBox,這樣下次再打開(kāi)窗口,還可以看到帳號(hào)與密碼存儲(chǔ)在相應(yīng)的文本框中,這都是Cookie沒(méi)有過(guò)期。
第三種,再點(diǎn)一次登錄,沒(méi)有點(diǎn)選remember me的CheckBox,這樣系統(tǒng)又移除了Cookie:
相關(guān)文章
asp.net使用DataGridTree實(shí)現(xiàn)下拉樹(shù)的方法
這篇文章主要介紹了asp.net使用DataGridTree實(shí)現(xiàn)下拉樹(shù)的方法,詳細(xì)的講述了DataGridTree實(shí)現(xiàn)下拉樹(shù)的原理與具體實(shí)現(xiàn)方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11DataGridView使用自定義控件實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能(推薦)
這篇文章主要介紹了DataGridView使用自定義控件實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能,數(shù)據(jù)庫(kù)使用的是sqlserver,本文通過(guò)通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友參考下吧2019-11-11ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫(kù)建模
這篇文章介紹了ASP.NET?Core使用EF為關(guān)系數(shù)據(jù)庫(kù)建模的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04asp.net Http異常eurl.axd出錯(cuò)信息解決方法
在IIS6中同時(shí)啟用了ASP.NET 2.0 和 ASP.NET 4.0 后,網(wǎng)站程序可能會(huì)出現(xiàn)如下錯(cuò)誤:“ System.Web.HttpException: Path ‘//eurl.axd/‘ was not found. ”2011-08-08Visual Studio Debug實(shí)戰(zhàn)教程之?dāng)帱c(diǎn)操作
眾所周知斷點(diǎn)對(duì)于Visual Studio調(diào)試過(guò)程是十分重要的,斷點(diǎn)的設(shè)置也是為了更好的進(jìn)行調(diào)試。下面這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實(shí)戰(zhàn)教程之?dāng)帱c(diǎn)操作的相關(guān)資料,需要的朋友可以參考下2018-09-09asp.net后臺(tái)cs中的JSON格式變量在前臺(tái)Js中調(diào)用方法(前后臺(tái)示例代碼)
本文主要介紹下asp.net后臺(tái)cs中的JSON格式變量在前臺(tái)Js中調(diào)用方法,下面是前后臺(tái)的實(shí)現(xiàn)代碼,感興趣的朋友可以參考下哈,下對(duì)大家有所幫助2013-06-06asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼
這篇文章介紹了asp.net 按指定模板導(dǎo)出word,pdf實(shí)例代碼,有需要的朋友可以參考一下2013-09-09