Reputation: 830
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
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
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