我正在尝试在OnClientClick上的VB.NET链接按钮上使用Google Analytics。它不起作用。我的网站上的其他页面使用相同的功能与直接锚链接(意味着没有.NET控件)确实捕获事件。我能说的唯一区别是.NET自动编码单引号。我告诉过浏览器应该可以处理这个问题,但它不能在我的页面上工作。我还查看了有关.NET如何在v 4.0中开始执行此操作的所有文档,并且没有真正的解决方法来使其不编码单引号。我已经尝试了创建自定义编码类并在web.config中添加引用的建议。这对我没有用。我的网站上有一个空白页面。
还有其他方法我没想到要在我的VB.NET(v 4.5)页面上成功跟踪Google Analytics点击事件吗?
我在代码中成功添加了事件:
lnkViewAll.OnClientClick = "ga('send', 'event', 'View All Awards', 'click', 'Landing Page - Awards');"
我的页面上没有任何错误。它只是没有成功捕获我的Google信息中心中的点击事件。
这是页面呈现的方式。我告诉浏览器应该能够处理html编码...
<a onclick="ga('send', 'event', 'View All Awards', 'click', 'Landing Page - Awards');" id="lnkViewAll" class="button-text" href="javascript:__doPostBack('lnkViewAll','')">View All Awards</a>
再次请注意,我确实研究过那里的其他解决方案,特别是这一个(https://forums.asp.net/p/1554455/3818604.aspx),那里提供的解决方案对我不起作用。任何其他创造性的解决方案,以使这工作我不得不想象还有其他人使用VB.NET和Google Anayltics点击活动。
答案 0 :(得分:0)
您的点击会生成表单POST
请求,该页面会立即卸载,因此ga('send'...
没有时间执行。而是在服务器端处理Analytics事件(在lnkViewAll_Click
处理程序中)。这样的事情(在VB
中):
ScriptManager.RegisterStartupScript(Me, Me.GetType(), "gaEvent", "ga('send', 'event', 'View All Awards', 'click', 'Landing Page - Awards');", True)
另一个选择是将LinkButton
放在UpdatePanel
内。