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#文件中訪問該函數的方式。

但是,頁面加載解決方案對我的目的來說工作得很好。