我正在使用ASP.NET来创建一个小型Web应用程序.我的一个页面包含一些LinkButton控件,在我添加对Google Analytics代码的引用之前,它一直正常工作.现在,当我点击链接按钮时,我收到错误消息:
Microsoft JScript runtime error: The
value of the property ‘__doPostBack’
is null or undefined, not a Function
or object
页面上的其他链接和控件工作正常.如果我从页面中删除对Google Analytics脚本的引用,那么一切正常.似乎问题源于Google Analytics脚本与试图回发页面的LinkButton控件之间的交互.
UPDATE.我进一步观察了以下内容.如果没有Google Analytics脚本引用,则ASP.NET生成的HTML看起来很好:
但是,只要我添加Google Analytics代码,HTML就会被搞砸:
看看那个表格标签!我现在想象一下,回发错误源于链接按钮控件放在ASP.NET表单之外的事实.但为什么?结束更新.
关于如何解决这个问题的任何想法?谢谢.
进一步更新.经过多次试验,我自己能够解决这个问题.我在下面添加了一个答案,显示了我的结论.感谢所有在这里发布答案的人.结束更新.
解决方法:
经过大量的调整,技术支持和实验,我已经解决了这个问题.我的代码看起来像这样:
<head runat="server">
<title><asp:ContentPlaceHolder ID="cphPageTitle" runat="server"></asp:ContentPlaceHolder></title>
<link href="_private/Normal.css" rel="stylesheet" type="text/css" />
<script src="_private/GoogleAnalytics.js" type="text/javascript" />
</head>
这导致了我在OP中描述的问题.切换到以下内容时,一切都已修复:
<head runat="server">
<title><asp:ContentPlaceHolder ID="cphPageTitle" runat="server"></asp:ContentPlaceHolder></title>
<link href="_private/Normal.css" rel="stylesheet" type="text/css" />
<script src="_private/GoogleAnalytics.js" type="text/javascript"></script>
</head>
请注意,脚本现在由完整的结束标记而不是自闭标记关闭.我假设脚本可以自动关闭而没有副作用,但显然当你以不同的方式关闭它时,事情会有所不同. This阐明了原因.