如何将两个OnClick事件处理程序插入.ascx用户控件?

时间:2013-06-13 07:09:00

标签: asp.net events onclick ascx

请记住,我已经开始了一项新工作,要求我使用Umbraco和ASP.NET - 平台/语言我只玩了2天而且是一个总的菜鸟 - 我有一个关于插入的问题Google Analytics事件跟踪代码到.ascx文件的一行。

接下来:我已经深入了解了我需要插入.gaq跟踪代码所需的特定行;它是一个onclick处理程序,对应于联系表单上的提交按钮。该行是:

<asp:LinkButton runat="server" ID="Page3NextButton" OnClick="Page3NextButton_Click" CausesValidation="true" CssClass="btnSubmit floatRight">
<span>Submit</span>
</asp:LinkButton>

我想以"_gaq.push(['_trackEvent', 'Volunteer', 'Submit', 'Volunteer Signup'])"的形式向该OnClick属性添加事件跟踪器,并在GA中设置相关的事件菜单。唯一的问题是,我不知道如何将代码添加到现有的OnClick设置中 - 这不是用分号分隔两者的情况,因为我可以使用普通HTML中的JavaScript条目(例如,onclick="blah(); dah();")

任何人都可以告诉我如何在OnClick的一个ASP.NET媒体资源中设置两个事件处理程序?如果我对此听起来很模糊,那是因为这种语言对我来说是非常新的。

干杯。

4 个答案:

答案 0 :(得分:3)

使用用于运行JavaScript的OnClientClick在页面回发之前。 类似的东西:

<asp:LinkButton runat="server" ID="Page3NextButton" OnClick="Page3NextButton_Click" OnClientClick="_gaq.push(['_trackEvent', 'Volunteer', 'Submit', 'Volunteer Signup'])" CausesValidation="true" CssClass="btnSubmit floatRight">
<span>Submit</span>
</asp:LinkButton>

另一种解决方案是:

Page.ClientScript.RegisterStartupScript(this.GetType(), ="_gaq.push(['_trackEvent', 'Volunteer', 'Submit', 'Volunteer Signup'])", true);
在用于点击的codebehind eventhandler中的

。这将输出脚本,以便在浏览器加载页面时运行该脚本。

希望这有帮助!

答案 1 :(得分:2)

正如您所提到的,您只需要为Google Analytics再点击一次。

据我所知,Google Analytics事件跟踪代码是javascript。因此,在这种情况下,您可以使用LinkBut​​ton的OnClientClick事件进行Google Analytics点击事件处理。 as:

<asp:LinkButton runat="server" ID="Page3NextButton" OnClick="Page3NextButton_Click" CausesValidation="true" CssClass="btnSubmit floatRight" OnClientClick="gaq.push(['_trackEvent', 'Volunteer', 'Submit', 'Volunteer Signup'])"></asp:LinkButton>.

这应该可以正常工作!

答案 2 :(得分:0)

您可以使用按钮的OnClientclick属性并使用Javascript函数来推送代码。

答案 3 :(得分:0)

谢谢你们所有人。我插入了代码 - 现在我想我等了。我无法看到我的GA帐户中显示的类别,操作或标签,但我听说Google Analytics需要一段时间才能更新 - 或者某人实际上必须首先触发事件才能触发事件跟踪?