我有一个页面,我需要在其中检查是否存在 cookie,然后执行重定向。
我编写了代码 (ASP.NET) 来检测 cookie 并执行重定向。伪代码:
HttpCookie myCookie = Request.Cookies.Get("theCookie");
if(myCookie == null)
{
myCookie = new HttpCookie("theCookie","myValue")
response.Redirect("page.aspx"); //Redirect to check for the presence of the cookie
}
More code...
当用户启用 cookie 时,此方法可以正常工作。然而,当他们禁用 cookie 时,他们最终陷入无限循环(页面尝试创建 cookie,重定向,看不到 cookie,然后再次重定向,无限循环)。大多数人类用户可能会没事,但这可能会对网站的 SEO 评级产生影响。
我绞尽脑汁寻找解决方案,但由于 cookie 是不可能的,所以只剩下 View 状态和查询字符串了。
因为我必须进行重定向,所以我想我被查询字符串困住了。问题是为了检测页面是否已被点击,我需要附加一个查询字符串以防止重定向再次启动。
谁能想出一种不使用 cookie、viewstate 或查询字符串来完成此操作(防止重定向)的方法?我想答案很可能是否定的……
最佳答案
按照您描述的方式使用查询字符串是正确的解决方案。
关于c# - 保存状态的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572355/