1
我试图将GA跟踪代码添加到数据控件内部的超链接中,使用下面的代码我可以添加但随后所有的GA跟踪事件将显示所有的PDF文件将一样的名字。下面是代码将属性添加到DataList控件中的HyperLink控件
<asp:DataList ID="dlTournamentMenu" runat="server" RepeatColumns="4"
CellSpacing="5" RepeatLayout="Table" SeparatorStyle-Width="10" CellPadding="4"
BorderWidth="0" >
<ItemTemplate>
<div class="uc4TournamentLinks" >
<asp:HyperLink ID="hylMenuItem" runat="server" NavigateUrl='<%# Eval("PageInternalLinkURL") %>' ToolTip='<%# Eval("PageName") %>' onclick="_gaq.push(['_trackEvent', 'Downloads', 'PDF', 'PDF File Downloaded']);" Target='<%# Eval("PageWindow") %>' BorderWidth="0px" Font-Underline="False" >
<asp:Label ID="lblTourTitle" CssClass="uc4TournamentLinksColor" runat="server" Text='<%# Eval("PageName") %>'></asp:Label>
</asp:HyperLink>
</div>
</ItemTemplate>
</asp:DataList>
当我尝试添加附加代码如下
onclick="_gaq.push(['_trackEvent', 'Downloads', 'PDF', '<%# Eval("PageWindow") %>']);"
它产生的错误,因为我不能绑定评估和演示这个属性。
我怎么能结合这个语法像我们这样做的Repeater控件如下面的例子
protected void gvUsers_RowDataBound(object sender, GridViewRowEventArgs e)
{
//LOCK USER
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton lbLockUser = e.Row.FindControl("lnkBtnLockUser") as LinkButton;
if (lbLockUser != null)
ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(lbLockUser);
lbLockUser.Attributes.Add("onclick", "javascript:return " +
"confirm('Are you sure you want to lock this User ')");
}
}