2012-09-07 21 views
1

我有以下轉發:ASP.NET直放站,動態開始新錶行

<table> 
     <asp:Repeater runat="server" ID="rptBrandRepeater"> 
      <ItemTemplate> 
       <tr> 
        <td> 
         <asp:HyperLink runat="server" ID="lnkCompanyLink"> 
          <asp:Image runat="server" ID="imgCompanyLogo" /> 
         </asp:HyperLink> 
        </td> 
       </tr> 
      </ItemTemplate> 
     </asp:Repeater> 
</table> 

我要開始一個新行每四個表格單元格。

我不想用jQuery或Javascript來實現這一點。

的輸出HTML應該是這樣的頁面:http://rmtequipment.com/golfandturf.aspx

我做了一個接口,使他們能夠對自己添加這些標識。 因此,此頁面將被動態構建。

完成此目標的最佳方法是什麼?

如果一個listview或gridview是一個更好的方法,我也接受。

在此先感謝。

回答

2

在我看來,最好的方法,就是用一個DataList代替。您可以通過RepeatColumns屬性和通過RepeatLayout使用的佈局來控制物品的RepeatDirection以及列數。

<asp:DataList RepeatDirection="Horizontal" RepeatColumns="4" RepeatLayout="Table" ... 
+0

這聽起來像個好主意。我會試一試。謝謝 – dherrin79

+0

只是試圖完美的作品。再次感謝。 – dherrin79

1

你最好的辦法是擺脫表格並使用浮動的div元素,因爲它不是表格也不包含表格數據。

<asp:Repeater runat="server" ID="rptBrandRepeater"> 
    <ItemTemplate> 
     <div class="logo"> 
      <asp:HyperLink runat="server" ID="lnkCompanyLink"> 
       <asp:Image runat="server" ID="imgCompanyLogo" /> 
      </asp:HyperLink> 
     </div> 
    </ItemTemplate> 
</asp:Repeater> 

然後風格你的div

div.logo{ float: left; width: 200px; display: inline; } 

那麼這將打破natuarally基礎上在其上包含所有這些標識的元素的寬度下一個「行」。

看到這個基本的演示了一個例子:http://jsfiddle.net/ygnEa/

+0

我沒有考慮這個方法:

從而爲您的DataList將被定義。我只是想要一些更多的限制而不是浮動。如果有一種方法可以添加一個在每隔四個div後清除浮點數的div,我肯定會使用基於css的佈局。 – dherrin79