2010-10-22 59 views
3

昨晚我在這裏得到了一些關於獲取集合索引的幫助。這是我正在使用的代碼。無法將字符串轉換爲字符

  System.Text.StringBuilder sb = new System.Text.StringBuilder(); 

      for (int i = 1; i < _prod.ActiveProductItemCollection.Count; i++) 
      { 

       sb.Append("<script type='text/javascript'>"); 
       sb.Append("mboxCreate(\"product_productpage_rec{0}\")", i); 
       sb.Append("\"entity.id=" + _prodID + "\","); 
       sb.Append("\"entity.categoryId=" + _categoryID + "\","); 
       sb.Append("\"entity.name=" + _prod.ActiveProductItemCollection[i].Title + "\","); 
       sb.Append("\"entity.pageURL=" + Request.Url.ToString() + "\","); 
       //The following value has been taken from the productImageControl code behind. 
       //Might have to refactor in future as a property of the image control. 
       string filename = AppSettingsManager.Current.ProductImagePathLarge + _prod.ActiveProductItemCollection[i].Sku 
        + AppSettingsManager.Current.ProductImageExtension; 
       sb.Append("\"entity.thumbnailURL=" + filename + "\","); 
       sb.Append("\"entity.inventory=" + _prod.ActiveProductItemCollection.Count + "\","); 
       sb.Append("\"entity.value=" + _prod.ActiveProductItemCollection[i].ActualPrice + "\","); 
       sb.Append("\"entity.ProductItemID=" + _prod.ActiveProductItemCollection[i].Sku + "\","); 
       sb.Append("\"entity.addToCartImg=~/Images/Buttons/btn_AddToCartFlat.gif\");<"); 
       //The last line has to be /script. < inserted on prev line. do not change it or bad things will happen.    
       sb.Append("/script>"); 
      } 
      this.LiteralMBoxScript.Text = sb.ToString(); 

我想要做的就是在productpage_rec之後獲取集合中商品的索引。

因此,例如,第一個產品會產生像

mboxCreate(「product_productpage_rec1」

等等等等的集合中的每一個產品。當我嘗試建立我得到的follwong錯誤:

「無法從字符串轉換成char」

及其對product_productpage_rec絆倒{0}

我錯過了什麼?

在此先感謝。

+0

您嘗試使用'StringBuilder.Append(Char,Int32)'http://bit.ly/cGh8ud重載這就是爲什麼你得到這個錯誤。編譯器認爲它最好的重載使用,而不是'Append(String,Int32)' – 2010-10-22 14:24:29

回答

6
sb.AppendFormat("mboxCreate(\"product_productpage_rec{0}\")", i); 

應該工作

+0

啊謝謝!它做了。只要它讓我回答,我會盡快回復。再次感謝,知道這是小事。 – tking 2010-10-22 14:22:41

+0

@tking - 太好了,謝謝 – 2010-10-22 14:23:54

3

更改此

sb.Append("mboxCreate(\"product_productpage_rec{0}\")", i); 

要這樣:

sb.AppendFormat("mboxCreate(\"product_productpage_rec{0}\")", i); 
0

您需要使用

sb.Append(String.Format("mboxCreate(\"product_productpage_rec{0}\")", i)); 
+0

沒關係......用更好的答案毆打它。 – 2010-10-22 14:22:00

+0

你的答案看起來很熟悉!大聲笑 – MattC 2010-10-22 14:24:35

+0

嗯爲什麼downvote?它不是最好的答案,但它不是公然錯誤的。 – 2010-10-22 14:28:22