我有一个页面需要检查是否存在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...

当用户启用cookies时,此方法可以正常工作。但是,当禁用cookie时,它们会陷入无限循环(页面尝试创建cookie,重定向,看不到cookie,然后再次重定向,无限期)。大多数人类用户可能会没事,但这可能会对网站的搜索引擎优化评分做一些事情。
我绞尽脑汁寻找解决方案,既然饼干是不可能的,那就剩下viewstate和querystring了。
因为我得做一个重定向,我想我被查询字符串卡住了。问题是为了检测页面是否已经被点击,我需要附加一个querystring来防止重定向再次进入。
有没有人能想出一种不使用cookies、viewstate或querystring的方法来实现这一点(防止重定向)?我想答案可能是不…

最佳答案

按照您描述的方式使用querystring是正确的解决方案。

关于c# - 保存状态的选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9572355/

10-09 18:09
查看更多