SJaka
SJaka

Reputation: 830

How to detect if browser cookies are enabled in ASP.Net MVC 5?

I've to detect in my ASP.Net MVC application if cookies are disabled in the client's browser. All my searches result in asp.net WebForms with Page_Load etc., instead of an ASP.Net MVC application.

How can I detect on the server side if browser cookies are enabled?

Upvotes: 1

Views: 2718

Answers (2)

Shaiju T
Shaiju T

Reputation: 6609

Below code can be used in asp.net MVC

Step 1: Create cookie if doesn't exist

public ActionResult CreateCookie()
{

  //Check if cookie Enabled on Page Load
  if (Request.Cookies["UserInfo"] != null)
  {
    // Cookie is enabled 
    // TODO , write your code
  }           
  else
  {
    // Create a new cookie, if cookie is null

    HttpCookie userCookie = new HttpCookie("UserInfo");
    userCookie["Name"] = "example";
    userCookie["Company"] = "example";
    userCookie.Expires.AddDays(50); // cookie will expire after 50 days
    Response.Cookies.Add(userCookie);

    return RedirectToAction("CookieEnabled");

 }

   return View();
}

Step 2: Check if cookie enabled

public ActionResult CookieEnabled()
{
    if (Request.Cookies["UserInfo"] != null)
    {
        // Cookie is enabled 
        // TODO , write your code
    }

    else
    {
        // Cookie is disabled 
        // TODO , write your code
    }

    return View();
}

Note: You can also check this in client side using JavaScript, check this article.

Upvotes: 1

AvangSoft
AvangSoft

Reputation: 66

Controller Code :

public ActionResult Index()
        {
            var browser = Request.Browser;
            string s = "Browser Capabilities\n"
                       + "Type = " + browser.Type + "\n"
                       + "Name = " + browser.Browser + "\n"
                       + "Version = " + browser.Version + "\n"
                       + "Major Version = " + browser.MajorVersion + "\n"
                       + "Minor Version = " + browser.MinorVersion + "\n"
                       + "Platform = " + browser.Platform + "\n"
                       + "Is Beta = " + browser.Beta + "\n"
                       + "Is Crawler = " + browser.Crawler + "\n"
                       + "Is AOL = " + browser.AOL + "\n"
                       + "Is Win16 = " + browser.Win16 + "\n"
                       + "Is Win32 = " + browser.Win32 + "\n"
                       + "Supports Frames = " + browser.Frames + "\n"
                       + "Supports Tables = " + browser.Tables + "\n"
                       + "Supports Cookies = " + browser.Cookies + "\n"
                       + "Supports VBScript = " + browser.VBScript + "\n"
                       + "Supports JavaScript = " +
                       browser.EcmaScriptVersion.ToString() + "\n"
                       + "Supports Java Applets = " + browser.JavaApplets + "\n"
                       + "Supports ActiveX Controls = " + browser.ActiveXControls
                       + "\n"
                       + "Supports JavaScript Version = " +
                       browser["JavaScriptVersion"] + "\n";


            ViewBag.Message = s;
            return View();
        }

and you can use in view :

<h3>@ViewBag.Message</h3>

Upvotes: 1

Related Questions