首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Databinder.Eval双引号

Databinder.Eval双引号
EN

Stack Overflow用户
提问于 2013-03-19 16:05:53
回答 3查看 1K关注 0票数 2

我有一个问题,我想不出怎么解决它。我在寻找解决方案,但它们不起作用。所以,我有一个包含ItemTemplate的数据列表。我需要添加谷歌分析onclick事件到标签。我尝试添加onclick事件,如下所示

代码语言:javascript
复制
 onclick="_gaq.push(['_trackEvent', 'Homepage', 'Click on',<%#DataBinder.Eval(Container.DataItem,"URL")%>']);" <br />

但是我得到了一个黄色的错误屏幕,消息是"..tag不是正确格式化的“。我也尝试过用&qout;替换双qoutes,但没有成功。我也试过了

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

但这也行不通。

你知道我该怎么解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-19 16:21:23

您真的应该在代码后台的"OnItemDataBound“事件中执行这种复杂的数据绑定。看一看relevant MSDN page

代码语言:javascript
复制
<asp:DataList id="ItemsList" OnItemDataBound="Item_Bound" runat="server">

代码隐藏:

代码语言:javascript
复制
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);
 }
}

免责声明:我还没有实际测试过这段代码,所以你可能需要在这里和那里做一些调整。它只是给你一个前进方向的想法。

票数 1
EN

Stack Overflow用户

发布于 2013-03-19 16:14:25

你能在下面试试吗?

代码语言:javascript
复制
<a  href="#" onclick="_gaq.push(['_trackEvent', 'Homepage', 'Click on','<%#DataBinder.Eval(Container.DataItem,\"URL\")%>']);">Test</a>
票数 0
EN

Stack Overflow用户

发布于 2020-06-16 13:39:00

我遇到了以下场景:我必须重用一些函数,这些函数从其他程序集中返回动态对象的集合。通常,可以通过使用assembly : InternalsVisibleTo("Some.Assembly")将动态对象发布到其他程序集,因为动态对象位于它们的程序集内部。在没有选择的情况下,我尝试了项数据绑定方法解决方案来添加脚本,但是动态对象在那里是不可访问的,即使我使用了Eval。但是Eval在标记中工作,在那里出现了引号/撇号问题。我的解决方案是HTML转义:

代码语言:javascript
复制
onclick='<%# "doSomething(&apos;" + Eval("DataProperty") + "&apos;, this);"%>'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15494294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档