2011-06-16 91 views
0

我試圖讀取包含圖像名稱的文本文件,並將其顯示爲opon pageload。將按鈕包含到.cs文件中

比方說,在文本文件中的內容是

Australia Picture101 
Singapore Picture201 

以下是我試過的代碼,它不顯示圖像。

tableString += "<table class='content_background' cellpadding='0' cellspacing='0'>"; 
     foreach (string line in lines) 
     { 
      string[] country = line.Split(token2); 
      string[] image = country[1].Split(token); 
      string row = "<tr><td class='left_content'>" + country[0] + "</td>" +"<td><table><tr>"; 

      tableString += row; 
      for (int i = 0; i < image.Length; i++) 
      { 
--->   string row2 = "<td class='right_content'> <asp:ImageButton ImageUrl='~/img/missing children pictures/" + "image[i]" + ".jpg'/>" + "</td>"; 

       tableString += row2; 
      } 

      tableString += "</tr></table></td>"; 
     } 

     tableString += "</tr></table>"; 

     container.InnerHtml = tableString; 

有沒有其他方法可以做到這一點?提前致謝。

的截屏如下 screen shot

+1

這不是ASP.NET如何工作,而是使用中繼器,或者如果您想要更多樣式,請嘗試ASP.NET MVC。 – leppie 2011-06-16 04:45:01

回答

1

這是沒有按鈕!您正在輸出未經分析的HTML - ASP.NET引擎不會解析該HTML,它只是將數據作爲HTML發送給客戶端。

相反,使用

var btn = new ImageButton();  
btn.ImageUrl = "~/img/missing children pictures/" + "image[i]" + ".jpg"; 
Panel1.Controls.Add(btn); 

作爲一個簡單的黑客,你可以使用

string row2 = "<td class=\"right_content\"> <input type=\"button\" style=\"background:url('/img/missing%20children%20pictures/" + image[i] + ".jpg')\"/></td>"; 
+0

嘿謝謝! 使用你的方式確實得到了圖像按鈕。但是圖片[i]仍然無法顯示。 – 2011-06-16 05:47:38

+0

@foomingxiang我修正了'黑客',因爲瀏覽器無法理解相對引用(〜),與服務器理解它相同。 – foxy 2011-06-16 05:52:29

+0

嘗試改變黑客,但它似乎仍然無法檢索圖像。 – 2011-06-16 06:03:17

0

如果你想直接生成HTML,然後使用HTML標籤:

<a href="[Img_CLick Link]"><img src="[image path]" 
    alt="Click" border="0" /></a> 

認沽方括號中的適當值。

否則考慮在運行時使用asp:Table控件並添加行/單元格。