2

問題があり、それを解決する方法がわかりません。解決策を探しましたが、うまくいきませんでした。だから、私はItemTemplateを持つデータリストを持っています。onclick イベントの Google アナリティクスを <a> タグに追加する必要があります。のようなonclickイベントを追加しようとしました

 onclick="_gaq.push(['_trackEvent', 'Homepage', 'Click on',<%#DataBinder.Eval(Container.DataItem,"URL")%>']);" <br />

しかし、「..タグが正しくフォーマットされていません」というメッセージが表示された黄色のエラー画面が表示されます。double qoutes を置き換えてみまし&qout;たが、成功しませんでした。私も試しました

onclick='<%# string.Format("_gaq.push(['_trackEvent','Homepage','Click on last awarded company','{0}']);", DataBinder.Eval(Container.DataItem, "URL") %>' <br />

しかし、これもうまくいきませんでした。
どうすればこの問題を解決できますか?

4

3 に答える 3

1

コード ビハインドの「OnItemDataBound」イベントで、この種の複雑なデータ バインディングを実行する必要があります。関連する MSDN ページをご覧ください。

<asp:DataList id="ItemsList" OnItemDataBound="Item_Bound" runat="server">

コードビハインド:

public void Item_Bound(object sender, DataListItemEventArgs e)
{
 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
 {
  // find your link
  HyperLink link = (HyperLink)e.Item.FindControl("MyFirstHyperLink");

  // so something nice with your link here, for example add attributes.
  string a = DataBinder.Eval(e.Item, "URL", "_gaq.push(['_trackEvent','Homepage','Click on last awarded company','{0}']);");
  link.Attributes.Add("onclick", a);
 }
}

免責事項: このコードを実際にテストしていないため、あちこちで調整が必要になる場合があります。進むべき方向のアイデアを提供するだけです。

于 2013-03-19T08:21:23.397 に答える
0

以下をお試しいただけますか?

<a  href="#" onclick="_gaq.push(['_trackEvent', 'Homepage', 'Click on','<%#DataBinder.Eval(Container.DataItem,\"URL\")%>']);">Test</a>
于 2013-03-19T08:14:25.327 に答える