【发布时间】:2011-06-03 14:28:55
【问题描述】:
我正在使用 ASP.NET 创建一个小型 Web 应用程序。我的其中一个页面包含一些 LinkButton 控件,在我添加对 Google Analytics 代码的引用之前,这些控件可以正常工作。现在,当我单击链接按钮时,我收到错误消息:
Microsoft JScript 运行时错误: 属性“__doPostBack”的值 为空或未定义,不是函数 或对象
页面上的其他链接和控件工作正常。如果我从页面中删除对 Google Analytics 脚本的引用,一切正常。似乎问题出在 Google Analytics 脚本和试图回发页面的 LinkButton 控件之间的交互。
更新。我进一步观察到以下情况。当没有 Google Analytics 脚本引用时,ASP.NET 生成的 HTML 看起来不错:
但是,一旦我添加了 Google Analytics 代码,HTML 就会搞砸:
看看那个表单标签!我现在想象回发错误是由于链接按钮控件被放置在 ASP.NET 表单之外的事实引起的。但为什么? 结束更新。
关于如何解决这个问题的任何想法?谢谢。
进一步更新。经过多次试验,我已经能够自己解决这个问题。我在下面添加了一个答案,显示了我的结论。感谢所有在这里发布答案的人。 结束更新。
【问题讨论】:
-
我们可以查看您页面源代码的相关部分吗?检查您的脚本标签是否已关闭,或许可以尝试将它们移动到页面的末尾而不是开头。
-
@mikey:所有标签都正确关闭;我已经(至少)检查了四次。明天一到办公室,我就会发布一些资源。您想查看页面源代码的哪些部分?我还将尝试将对 Google Analytics 脚本的引用移至页面末尾。谢谢。
-
请检查您是否也关闭了 标签。我从未见过如此奇怪的东西,但我确实认为这是一件小事,但很容易错过。除此之外,我可能会开始查看 .js 代码本身是否有任何奇怪之处。
-
澄清一下,您是否将 Google Analytics(分析)代码粘贴到页面末尾(就在
</body>之前)? -
@keyboardP:不。我将它粘贴在结束 标记之前,正如 Google 所建议的那样。
标签: javascript asp.net google-analytics postback linkbutton