2013-05-13 54 views
4

嗨,我收到以上錯誤。請在我的代碼見下文&暗示我什麼,我做錯了什麼:無法獲得div_images的內容,因爲內容不是字面的

HTML:

string ProductImages = string.Empty; 
string str_query = string.Empty; 
DataTable dt_Common = new DataTable(); 

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     bind_images(); 
    } 
} 

代碼:

private void bind_images() 
{ 
    if (Request.QueryString["id"] != null) 
    { 
     str_query = "select top(5) image from tbl_product_images where productinfo_id='" + Request.QueryString["id"].ToString() + "'"; 
     dt_Common = new CommonClass().bind_department(str_query); 
     if (dt_Common.Rows.Count> 0) 
     { 
      for (int i = 0; i < dt_Common.Rows.Count; i++) 
      { 
       div_images.InnerHtml += "<a class=\"activeborder\" data-image=" + dt_Common.Rows[i]["image"] + " data-zoom-image=" + dt_Common.Rows[i]["image"] + "><img src=" + dt_Common.Rows[i]["image"] + " /></a>";  // Getting error in this line. 
      } 
     } 
    } 
    else 
    { 

    } 
} 

我從過去的日子嘗試過,但沒有得到解決方案。任何建議真的很感激。

+0

您是否嘗試過'.InnerText'財產? – vijay 2013-05-13 12:54:51

回答

4

嘿傢伙我已經解決了這一點。請參閱下面的解決方案

StringBuilder _StrB = new StringBuilder(); 

    if (Request.QueryString["id"] != null) 
    { 
     str_query = "select top(5) image from tbl_product_images where productinfo_id='" + Request.QueryString["id"].ToString() + "'"; 
     dt_Common = new CommonClass().bind_department(str_query); 
     if (dt_Common.Rows.Count> 0) 
     { 
      for (int i = 0; i < dt_Common.Rows.Count; i++) 
      { 
       image.Src = dt_Common.Rows[i]["image"].ToString().Replace("~", ".."); 
       _StrB.Append("<a id=" + i + " class=\"activeborder\" data-image=" + dt_Common.Rows[i]["image"].ToString() + " data-zoom-image=" + dt_Common.Rows[i]["image"].ToString() + "><img src=" + dt_Common.Rows[i]["image"].ToString() + " /></a>"); 
      } 

     } 
     string AllHTMLImages = _StrB.ToString().Replace("~", ".."); 
     div_images.InnerHtml = AllHTMLImages; 
    } 
    else 
    { 

    } 
2

在呈現控件後,您不應該使用innerHtml。使用RenderControl代替,如下解釋:

http://forums.asp.net/t/1168614.aspx

+0

你可以寫一個文本,因爲它仍然顯示錯誤! – John 2013-05-13 13:09:48

+0

StringWriter sw = new StringWriter(); HtmlTextWriter w = new HtmlTextWriter(sw); div_images.RenderControl(w); string s = string.Empty; – John 2013-05-13 13:13:30

+0

Dim sw As IO.StringWriter = New IO.StringWriter(): div_images.RenderControl(New HtmlTextWriter(sw)): Dim s As String = sw.GetStringBuilder()。ToString() – 2017-05-09 10:45:44

0

字符串值=((文字)(cell.Controls [0]))。文字