2016-03-07 61 views
0

因此,我正在实现一个用于放弃购物车的JavaScript实现。我运行的一个脚本是用于购物车,但问题是我使用的是asp.net webforms。如果我使用asp文字,脚本不会触发。该文本仅针对该属性进行了更改,但不会触发。如何触发加载页面后创建的脚本

我应该用什么来代替asp文字,以便在我立即触发它的文本时进行修改。

更新:

我已经有被触发的Java脚本运行,一旦它在字面控制的问题。我该如何解决这个问题?

问题是脚本加载文档,并且由于此脚本是由于之后的某个用户事件而创建的,因此我需要以某种方式在该文本后面运行代码。

月2日更新: 我想我需要验证脚本文本得到输出到literal.text实际上是在正确的格式,然后再深入研究,如果这是不是我的问题的根本原因。

下面是创建脚本... Listrakawesome是ASP文字:

StringBuilder coollistrak = new StringBuilder(); 
      coollistrak.AppendLine("<script>(function(d) {if(document.addEventListener) document.addEventListener('ltkAsyncListener', d);else{e=document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange',function(e){if(e.propertyName=='ltkAsyncProperty'){d();}});}})(function(){/********** Begin Custom Code **********/"); 
      foreach (CartItem ci in cart.CartItems) 
      { 
       string relPath = ci.ProductPicURL.Substring(ci.ProductPicURL.IndexOf("//") + 2); 
       relPath = relPath.Substring(relPath.IndexOf("//") + 1); 
       coollistrak.AppendLine("_ltk.SCA.AddItemWithLinks('" + ci.SKU + "', " + ci.Quantity + ", '" + Math.Round(ci.Price, 2).ToString() + "', '" + ci.VariantName + "', '" + relPath + "','" + SE.MakeProductVariantLink(ci.VariantID, SE.GetVariantSEName(ci.VariantID)) + "');"); 
      } 
      coollistrak.AppendLine("_ltk.SCA.Submit();/********** End Custom Code **********/});</script>"); 

      Listrakawesome.Text = coollistrak.ToString().Replace("\r\n", ""); 

这里是输出到literal.text:

"<script>(function(d) {if(document.addEventListener) document.addEventListener('ltkAsyncListener', d);else{e=document.documentElement; e.ltkAsyncProperty = 0; e.attachEvent('onpropertychange',function(e){if(e.propertyName=='ltkAsyncProperty'){d();}});}})(function(){/********** Begin Custom Code **********/_ltk.SCA.AddItemWithLinks('sku', qty, 'price', 'productname', 'imglink','pagelink');_ltk.SCA.Submit();/********** End Custom Code **********/});</script>" 

问:一般地说,每当我更改包含脚本的literal.text时,是否应该在该脚本发生作用并触发时发生,或者需要执行额外的步骤?

+0

你什么时候改变文字文字? – Kramb

+0

@Kramb是的,我是。所以当我为javasript添加附件时,它在我的stringbuilder中看起来不错,但是下一步设置literal.text = stringbuilder.tostring();在整个过程中会产生一个带“/ r/n”的混乱输出。有任何想法吗? – user1869407

+0

你是否在自己的字符串中加入了“/ r/n”? – Kramb

回答

0

我的问题基本上是我没有把它放在pageload事件的上下文中。这样做解决了我想要完成的任务,但并未解决原来的问题。最终要解决这个问题,我将需要重新安排在c#文件中访问该函数的方式。

但是,页面加载解决方案对我的目的来说工作得很好。