asp.net - 无法正确读取 cookie
问题描述
我有一个 cookie 栏,它安装了一个名为“CookiePolicy”的 cookie 来存储用户首选项(当然,值 = 1 表示 OK)。
我需要使用此值从我的站点激活/停用 Google Analytics。我以为这很容易......但它真的是一团糟!:(
我的代码
<script runat="server">
protected void Page_Load(object sender, EventArgs e) {
HttpCookie cookie = Request.Cookies.Get("CookiePolicy");
if( cookie.Value != "1" ){
Response.Write("<script>");
Response.Write("function (i, s, o, g, r, a, m) {");
Response.Write("i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {");
Response.Write("(i[r].q = i[r].q || []).push(arguments)");
Response.Write("}, i[r].l = 1 * new Date(); a = s.createElement(o),");
Response.Write("m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)");
Response.Write("})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');");
Response.Write("ga('create', 'UA-xxxxx-x', 'auto');");
Response.Write("ga('send', 'pageview');");
}
}
</script>
我收到各种错误。怎么了??
其中最糟糕的... System.NullReferenceException:对象引用未设置为对象的实例。 (由 if 子句发出)
解决方案
请试试这个:
HttpCookie cookie = Request.Cookies["CookiePolicy"];
用于检查 null
if (cookie == null) {
Response.Write("Cookie not found.");
}
参考:http ://www.informit.com/articles/article.aspx?p=25045&seqNum=4
推荐阅读
- java - 为什么我的 JavaFX 会出现这个程序流程问题?
- php - Wordpress - 带有标题 HTML 的博客文章导出
- python - 筛选和冲浪的opencv contrib问题
- mysql - 如何在 DB Fiddle 上获得执行时间?
- php - 在 PHP 中匹配输入文本和输入文件
- google-app-engine - 将 appengine 1 的数据存储用于 appengine 2
- c# - 什么可能导致 ContinuationTaskFromResultTask`1[TAntecedentResult].InnerInvoke() 抛出 NullReferenceException?
- amazon-web-services - 提高缓存命中率 Cloudfront
- azure - Azure API 管理 OAuth2 配置 - 创建授权服务和 ClientID/Secret
- perl - 现在在 indent2tree 中禁止对标量进行实验性推送