Minifycode 2022-01-04 Viewed 1.2K times ASP.NET MVC

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."; } } } }