【发布时间】:2019-01-21 18:07:37
【问题描述】:
如何检查/检测用户是否接受 cookie?使用 ASP.NET (C#)
【问题讨论】:
如何检查/检测用户是否接受 cookie?使用 ASP.NET (C#)
【问题讨论】:
来自MSDN
确定 cookie 是否被接受的一种方法是尝试写入 cookie,然后尝试再次读取它。如果您无法读取您编写的 cookie,则认为浏览器中的 cookie 已关闭。
写:
Sub Page_Load()
If Not Page.IsPostBack Then
If Request.QueryString("AcceptsCookies") Is Nothing Then
Response.Cookies("TestCookie").Value = "ok"
Response.Cookies("TestCookie").Expires = _
DateTime.Now.AddMinutes(1)
Response.Redirect("TestForCookies.aspx?redirect=" & _
Server.UrlEncode(Request.Url.ToString))
Else
labelAcceptsCookies.Text = "Accept cookies = " & _
Request.QueryString("AcceptsCookies")
End If
End If
End Sub
然后阅读
Sub Page_Load()
Dim redirect As String = Request.QueryString("redirect")
Dim acceptsCookies As String
' Was the cookie accepted?
If Request.Cookies("TestCookie") Is Nothing Then
' No cookie, so it must not have been accepted
acceptsCookies = 0
Else
acceptsCookies = 1
' Delete test cookie
Response.Cookies("TestCookie").Expires = _
DateTime.Now.AddDays(-1)
End If
Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, _
True)
End Sub
【讨论】:
将值保存到 cookie,重定向到某个页面并尝试读回该值。如果有效,则启用 cookie。如果不是,那就不是。
【讨论】:
【讨论】: