描述:主要是一个table有4个列,以下是简化了的html 实际中比它复杂多了
所有文字内容都来源一个表<table width="100%" border="0" cellspacing="0" cellpadding="7" id="TABLE1" onclick="return TABLE1_onclick()">
    <tr>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
    </tr>
    <tr>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
        <td>
            <div class="k">
                <div class="red">
                    ·标题</div>
                内容...
                <div>
                    作者</div>
            </div>
        </td>
        <td>
            &nbsp;</td>
        <td>
            &nbsp;</td>
    </tr>
</table>
问题:我想用一个repeater之类的控件如何去绑定它的数据,并显示为一行4列

解决方案 »

  1.   

     <asp:Repeater ID="repeat" runat="server">
                        <HeaderTemplate>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <div class="k">
                                <div class="red">
                                    <%# DataBinder.Eval(Container.DataItem, "标题")%></div>
                                <div >
                                    <%# DataBinder.Eval(Container.DataItem, "内容")%></div>
     <div >
                                    <%# DataBinder.Eval(Container.DataItem, "作者")%></div>
     <div >
                                    </div>
                            </div>
                        </ItemTemplate>
                        <FooterTemplate>
                        </FooterTemplate>
                    </asp:Repeater>
      

  2.   

    用DataList绑定吧    <table width="100%" border="0" cellspacing="0" cellpadding="7" id="TABLE1" onclick="return TABLE1_onclick()">
        <tr>
            <asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
                <ItemTemplate>
                    <td>
                        <div class="k">
                            <div class="red">
                                ·标题</div>
                            内容...
                            <div>
                                作者</div>
                        </div>
                    </td>
                </ItemTemplate>
            </asp:DataList>
            </tr>
        </table>
      

  3.   


    <asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
      <ItemTemplate>
    <div class="k">
      <div class="red">
      ·标题</div>
      内容...
      <div>
      作者</div>
      </div>  </ItemTemplate>
    </asp:DataList>
      

  4.   


    <asp:Repeater ID="repeat" runat="server">
                        <HeaderTemplate>
    <table width="100%" border="0" cellspacing="0" cellpadding="7" id="TABLE1" onclick="return TABLE1_onclick()">
                        </HeaderTemplate>
                        <ItemTemplate>
                             <tr>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                &nbsp;</td>
            <td>
                &nbsp;</td>
        </tr>
                        </ItemTemplate>
                        <FooterTemplate>
    </table>
                        </FooterTemplate>
                    </asp:Repeater>
      

  5.   


    <asp:Repeater ID="repeat" runat="server">
                        <HeaderTemplate>
    <table width="100%" border="0" cellspacing="0" cellpadding="7" id="TABLE1" onclick="return TABLE1_onclick()">
                        </HeaderTemplate>
                        <ItemTemplate>
                             <tr>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                &nbsp;</td>
            <td>
                &nbsp;</td>
        </tr>
                        </ItemTemplate>
                        <FooterTemplate>
    </table>
                        </FooterTemplate>
                    </asp:Repeater>
      

  6.   


    <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
        <HeaderTemplate>
              <table width="100%" border="0" cellspacing="0" cellpadding="7" id="TABLE1" onclick="return TABLE1_onclick()">
        <tr>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
        </tr>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                <div class="k">
                    <div class="red">
                        ·标题</div>
                    内容...
                    <div>
                        作者</div>
                </div>
            </td>
            <td>
                &nbsp;</td>
            <td>
                &nbsp;</td>
        </tr>
        </ItemTemplate>
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
    这样就可以了  把标题列放在HeaderTemplate里面,内容选一行  放在ItemTemplate里面,结尾用 <FooterTemplate>
            </table>
        </FooterTemplate>结束然后把内容直接绑定就行了,如第一列  可以这样写 :<td>
                <div class="k">
                    <div class="red">
                        ·<%#Eval("标题字段名")%></div>
                    ·<%#Eval("内容字段名")%></div>                <div>
                        作者·<%#Eval("标题字段名")%></div>
    </div>
                </div>
            </td>
      

  7.   

    楼上办法皆可行.还有最后一招.
    直接输出最原始的 html
    <asp:literal id="tab" runat="server" />StringBuilder sb=new StringBuilder();
    sb.Append("<table>");
    sb.Append(...);
    literal.text=sb.ToString();
      

  8.   

    楼上的办法皆可以绑定数据,但是我感觉没有实现楼主说的"4列1换行"的目的我也没想出来有什么办法可以简单的实现 <tr>   <td></td><td></td><td></td><td></td>  </tr>这样的循环因为一般需要实现这样的功能是用datalist,不知道楼主是否可以用datalist,还是一定要用repeater?有没有牛人推荐个什么方法?