ASP.NET Tutorial/Cookie/Delete
Содержание
Delete All Cookies
<source lang="csharp">
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
void Page_Load() { string[] cookies = Request.Cookies.AllKeys; foreach (string cookie in cookies) { BulletedList1.Items.Add("Deleting " + cookie); Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1); } }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Delete All Cookies</title>
</head> <body>
<form id="form1" runat="server">
Delete All Cookies
<asp:BulletedList id="BulletedList1" EnableViewState="false" Runat="server" />
</form>
</body> </html></source>
Delete Cookie by setting the date of Expires
<source lang="csharp">
<%@ Page %> <script language="C#" runat="server"> private void Page_Init(object sender, EventArgs e) {
if((Request.Cookies["UserName"] != null) && (Request.Cookies["UserName"].Value != null)) UserNameLabel.Text = Request.Cookies["UserName"].Value.ToString();
} private void SaveButton_Click(object sender, System.EventArgs e) {
Response.Cookies["UserName"].Value = UserNameTextBox.Text; if(PersistCookieCheckBox.Checked) Response.Cookies["UserName"].Expires = System.DateTime.Now.AddDays(1); UserNameLabel.Text = UserNameTextBox.Text;
} private void DeleteButton_Click(object sender, System.EventArgs e) {
Response.Cookies["UserName"].Expires = System.DateTime.Now.AddDays(-1);
} </script> <html>
<body> <form id="form1" method="post" runat="server"> Update UserName in Cookie: <asp:TextBox id="UserNameTextBox" runat="server"></asp:TextBox> <asp:Button id="SaveButton" runat="server" Text="Save" OnClick="SaveButton_Click"></asp:Button> <asp:CheckBox id="PersistCookieCheckBox" runat="server" text="Persist Cookie?"></asp:CheckBox> Current Cookie Contents:
<asp:Label ID="UserNameLabel" Runat="server" EnableViewState="False"></asp:Label>
<asp:Button id="RefreshButton" runat="server" Text="Refresh Without Saving"></asp:Button> Deleting the cookie will take effect on the *next* postback, since the cookie information is still in Request.Cookies for the duration of the PostBack once the Delete button is clicked. Click it once, then click the "Refresh Without Saving" button. <asp:Button id="DeleteButton" runat="server" Text="Delete Cookie" OnClick="DeleteButton_Click"></asp:Button> </form> </body>
</html></source>
Deleting Cookies
<source lang="csharp">
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">
protected void btnDelete_Click(object sender, EventArgs e) { Response.Cookies[txtCookieName.Text].Expires = DateTime.Now.AddDays(-1); }
</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">
<title>Delete Cookie</title>
</head> <body>
<form id="form1" runat="server">
<asp:Label id="lblCookieName" Text="Cookie Name:" AssociatedControlID="txtCookieName" Runat="server" /> <asp:TextBox id="txtCookieName" Runat="server" /> <asp:Button id="btnDelete" Text="Delete Cookie" OnClick="btnDelete_Click" Runat="server" />
</form>
</body> </html></source>