1

私は次のリピーターを持っています:

<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>

表の 4 つのセルごとに新しい行を開始したいと考えています。

これを達成するために jQuery や Javascript を使用したくありません。

出力された html は、次のページのようになります: http://rmtequipment.com/golfandturf.aspx

これらのロゴを自分で追加できるようにするインターフェイスを作成しました。したがって、このページは動的に構築されます。

この目標を達成するための最良の方法は何ですか?

リストビューまたはグリッドビューがより良いアプローチである場合、私もそれを受け入れます。

前もって感謝します。

4

2 に答える 2

2

私の意見では、代わりにDataListを使用するのが最善の方法です。RepeatDirectionプロパティを介してアイテムの数と列の数を制御し、を介しRepeatColumnsて使用するレイアウトを制御できますRepeatLayout

したがって、DataList は次のように定義されます。

<asp:DataList RepeatDirection="Horizontal" RepeatColumns="4" RepeatLayout="Table" ...
于 2012-09-07T15:37:01.293 に答える
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; }

これは、これらすべてのロゴを含む要素の幅に基づいて、自然に次の「行」に分割されます。

例については、この基本的なデモを参照してください: http://jsfiddle.net/ygnEa/

于 2012-09-07T15:13:45.683 に答える