Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用asp.net mvc 3验证html 5(移动)网站启用Cookie的最佳方法是什么_C#_Asp.net_Asp.net Mvc 3_Html_Session Cookies - Fatal编程技术网

C# 使用asp.net mvc 3验证html 5(移动)网站启用Cookie的最佳方法是什么

C# 使用asp.net mvc 3验证html 5(移动)网站启用Cookie的最佳方法是什么,c#,asp.net,asp.net-mvc-3,html,session-cookies,C#,Asp.net,Asp.net Mvc 3,Html,Session Cookies,我知道这里也有人问过类似的问题,但我还是很难让它发挥作用 我正在使用ASP.NET MVC 3编写一个HTML5网站,该网站面向移动设备 我之前问过,并决定使用会话变量 我完成了应用程序并开始了内部测试,一切都很顺利,直到我们意识到该网站在某些iPhone上无法运行。经过研究,我逐渐意识到会话变量依赖于cookies,并且一些iPhone出厂时默认禁用cookies 在我找到更好的解决方案之前,我想检查cookie是否已启用并重定向到错误页面 我希望所有的代码都可以写在一个基本的控制器上,但是我

我知道这里也有人问过类似的问题,但我还是很难让它发挥作用

我正在使用ASP.NET MVC 3编写一个HTML5网站,该网站面向移动设备

我之前问过,并决定使用会话变量

我完成了应用程序并开始了内部测试,一切都很顺利,直到我们意识到该网站在某些iPhone上无法运行。经过研究,我逐渐意识到会话变量依赖于cookies,并且一些iPhone出厂时默认禁用cookies

在我找到更好的解决方案之前,我想检查cookie是否已启用并重定向到错误页面

我希望所有的代码都可以写在一个基本的控制器上,但是我不知道怎么做。因此,我将以下代码放入基本控制器中

protected void WriteCookie()
{
    Response.Cookies.Add(new HttpCookie("cookie_test"));
}

protected bool CookieCheck()
{
    return (Request.Cookies["cookie_test"] != null);
}
然后在主控制器中,我在加载视图之前调用WriteCookie方法。视图本身具有重定向到两个控制器/操作之一的javascript。由于HTML5无法解析位置,通常会调用的控制器/视图是ChangeLocation/索引控制器/操作。在那里我有以下代码

if (!CookieCheck())
{
    RedirectToAction("CookieRequired", "Error");
}
即使禁用cookies,它也不会重定向到上面的错误页面

因此,我要寻找的是一种用相当完整的代码示例解决这个问题的最佳实践方法

我的主控制器几乎总是重定向到javascript中的另一个页面,而不是控制器。我总共有大约4个控制器,总共有大约6个动作


我的理想是在基本控制器中完全解决这个问题。如果不是这样的话,那么我希望它能够工作,不管输入了什么有效的URL,换句话说,即使web应用程序不是通过Home/Index输入的。如果不是这样,那么至少我希望我在代码中显示的内容能够在主/索引中设置cookie,并在其他控制器/操作中检查cookie,即使重定向发生在控制器中也能工作。

检查cookie的最简单方法是通过JavaScript。Seth说了什么。如果JS不起作用,请使用JS检查-location.href='errorpage.html';iPhone出厂时默认禁用cookies-真的吗?苹果真的与众不同。。经常以错误的方式。