In this article, you will learn, How to Clear a Cookie in ASP.Net MVC.
Cookies cannot be cleared, it can be made to expire by setting their Expiry Date to a Past Date in ASP.Net MVC Razor.
Action method for deleting Cookie
When the Delete Cookie Button is clicked, the DeleteCookie Action method is executed where first a check is performed whether the Cookie exists in the Browser.
View
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
@using (Html.BeginForm(null, "Home", FormMethod.Post))
{
if (Request.Cookies["Name"] != null)
{
@Request.Cookies["Name"].Value;
<hr/>
}
<input type="submit" id="btnDelete" formaction="@Url.Action("DeleteCookie")" value="Remove Cookie"/>
}
@if (TempData["Message"] != null)
{
<script type="text/javascript">
window.onload = function () {
alert('@TempData["Message"]');
};
</script>
}
</body>
</html>
Controller
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
//Create Cookie only once.
if (TempData["Message"] == null && Request.Cookies["Name"] == null)
{
//Create a Cookie with a suitable Key.
HttpCookie nameCookie = new HttpCookie("Name");
//Set the Cookie value.
nameCookie.Values["Name"] = "Mudassar Khan";
//Set the Expiry date.
nameCookie.Expires = DateTime.Now.AddDays(30);
//Add the Cookie to Browser.
Response.Cookies.Add(nameCookie);
//Redirect in order to save Cookie in Browser.
return RedirectToAction("Index");
}
return View();
}
[HttpPost]
public ActionResult DeleteCookie()
{
//Check if Cookie exists.
if (Request.Cookies["Name"] != null)
{
//Fetch the Cookie using its Key.
HttpCookie nameCookie = Request.Cookies["Name"];
//Set the Expiry date to past date.
nameCookie.Expires = DateTime.Now.AddDays(-1);
//Update the Cookie in Browser.
Response.Cookies.Add(nameCookie);
//Set Message in TempData.
TempData["Message"] = "Cookie deleted.";
}
else
{
//Set Message in TempData.
TempData["Message"] = "Cookie not found.";
}
return RedirectToAction("Index");
}
}
How to Clear a Cookie in ASP.Net MVC
public static byte[] CreateHTMLtoPDF(string HtmlString)
{
var htmlContent = String.Format(HtmlString);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.Orientation = NReco.PdfGenerator.PageOrientation.Landscape;
//var Orientation = new NReco.PdfGenerator.HtmlToPdfConverter().Orientation=NReco.PdfGenerator.PageOrientation.Landscape;
htmlToPdf.Size = NReco.PdfGenerator.PageSize.A4;
//htmlToPdf.Zoom = -0.55f;
var pageMargin = new NReco.PdfGenerator.HtmlToPdfConverter().Margins;
//htmlToPdf.PageHeight= 210;
//htmlToPdf.PageWidth = 297;
pageMargin.Left = 25;
pageMargin.Right = 25;
pageMargin.Bottom = 25;
pageMargin.Top = 25;
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent);
byte[] bytes;
using (MemoryStream input = new MemoryStream(pdfBytes))
{
using (MemoryStream output = new MemoryStream())
{
string userpassword = "123";//Change it with User DOB Format dd-MM-yyyy
string Ownerpassword = "123";//Change it with whatever owner is wanted
PdfReader reader = new PdfReader(input);
PdfEncryptor.Encrypt(reader, output, true, userpassword, Ownerpassword, PdfWriter.ALLOW_SCREENREADERS);
bytes = output.ToArray();
//Response.ContentType = "application/pdf";
//Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
//Response.Cache.SetCacheability(HttpCacheability.NoCache);
//Response.BinaryWrite(bytes);
//Response.End();
}
}
return bytes;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendOTP.aspx.cs" Inherits="Shoping_Cart.SendOTP" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to Send and Verify OTP On Mobile No Using C# In Asp.Net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Mobile No:
<asp:TextBox ID="txtMobileNo" runat="server" Width="200px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Send OTP" />
<br />
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Shoping_Cart
{
public partial class SendOTP : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Random r = new Random();
string OTP = r.Next(1000, 9999).ToString();
//Send message
string Username = "youremail@domain.com";
string APIKey = "YourHash";
string SenderName = "MyName";
string Number = "981111111";
string Message = "OTP code is - " + OTP;
string URL = "http://api.minifycode.in/send/?username=" + Username + "&hash=" + APIKey + "&sender=" + SenderName + "&numbers=" + Number + "&message=" + Message;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
string results = sr.ReadToEnd();
sr.Close();
Session["OTP"] = OTP;
//Redirect for varification
Response.Redirect("VerifyOTP.aspx");
}
catch (Exception ex)
{
lblMessage.Text = ex.Message.ToString();
}
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Verify.aspx.cs" Inherits="Cart.VerifyOTP" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Verify OTP</title>
</head>
<body>
<form id="form1" runat="server">
<div>
OTP:
<asp:TextBox ID="txtOTP" runat="server" Width="200px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Verify OTP" />
<br />
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Cart
{
public partial class OTP : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["OTP"].ToString() == txtOTP.Text)
{
lblMessage.Text = "You have enter correct OTP.";
Session["OTP"] = null;
}
else
{
lblMessage.Text = "Pleae enter correct OTP.";
}
}
}
}