2014-03-31 47 views
0

我創建了一個電子商務網站,並使用標籤來顯示我的sql數據庫中的產品,它顯示的這些產品的圖像不是超鏈接,但這是我需要他們,我想我已經寫了正確的代碼,但我有一個「parentControl」錯誤,有人可以幫助PLZ嗎?在表格單元格中生成圖像鏈接

下面還是一個鏈接,讓您直觀地向您顯示正在詢問的內容。請記住,圖片只是一個圖像,但需要成爲一個超鏈接!

  private void FillPage() 
    { 
     ArrayList teesList = new ArrayList(); 

     if (!IsPostBack) 
     { 
      teesList = ConnectionClass.GetTeesBySize("%"); 
     } 
     else 
     { 
      teesList = ConnectionClass.GetTeesBySize(DropDownList1.SelectedValue); 
     } 
     StringBuilder sb = new StringBuilder(); 

     HyperLink link = new HyperLink(); 
     link.NavigateUrl = "http://google.com"; 

     parentControl.Controls.Add(link); 

     foreach (Tees tees in teesList) 

     { 
      sb.Append(string.Format(@"<table class='TeesTable'> 
       <tr> 
        <th rowspan='1' width='150px'><img runat='server' src='{6}' /</th> 
        <th width='50px'>Name: </th> 
        <td>{0}</td> 
       </tr> 

       <tr> 
        <th>Size:</th> 
        <td>{1}</td> 
       </tr> 

       <tr> 
        <th>Price:</th> 
        <td>{2}</td> 
       </tr> 



      </table>", 
        tees.name, tees.size, tees.price, tees.id, tees.id, tees.id, tees.image)); 
      LblOutput.Text = sb.ToString(); 

https://dl-web.dropbox.com/get/CompetitiveStreakTemplate/Pic.png?_subject_uid=9403629&w=AAD63dzqPQcNMNSU0OwbVBrGjNGFvtt7VWJ6DKwlu4UoPw)。

回答

0

您需要正確關閉<img>標籤,並將其包裝在<a>中以使其成爲超鏈接。也可以使用<td>而不是<th>作爲數據行而不是標題。

一些更喜歡:

<td rowspan='1' width='150px'> <a href='{0}.aspx'> <img runat='server' src='{6}' /> </a> </td>

你應該追加到您的表的代碼,檢查什麼是頭或數據,並使用裏面的一個<tbody>標籤可能也收拾剩下的<table>

編輯:仔細一看卻彷彿你是不是在第一時間正確地創建表,更改代碼的這一塊做正確的循環:

parentControl.Controls.Add(link); 

sb.Append("<table class='TeesTable'><tbody>"); 

foreach (Tees tees in teesList) 
{ 
    sb.Append(string.Format(@" 
      <tr> 
       <td rowspan='1' width='150px'> 
        <a href='{0}.aspx'> 
         <img runat='server' src='{6}' /> 
        </a> 
       </td> 
       <td width='50px'>Name: </td> 
       <td>{0}</td> 
      </tr> 

      <tr> 
       <td>Size:</td> 
       <td colspan='2'>{1}</td> 
      </tr> 

      <tr> 
       <td>Price:</td> 
       <td colspan='2'>{2}</td> 
      </tr>", 

     tees.name, tees.size, tees.price, tees.id, tees.id, tees.id, tees.image)); 
    } 

    sb.Append("</tbody></table>"); 

    LblOutput.Text = sb.ToString(); 
+0

非常感謝!他們現在超鏈接!,但現在唯一的問題是,每個產品導致同一頁面,我將如何給每個產品不同的網址? –

+0

你把這個url存儲在你的Tees對象中嗎? – Starscream1984

+0

這些頁面僅作爲「name.aspx」存儲在我的項目中。 –

相關問題