从前做ASP会
但是加了控件的asp.net不回了
就是数据一列列显示 到了3个 换一行
就好像那些论坛首页的版块一样

解决方案 »

  1.   

    datalist用RepeatColumns实现多列
    参考
    <asp:repeater id="Repeater1" runat="server">
    <ItemTemplate>
    <td><%#Eval("")%></td>
    </ItemTemplate>
    </asp:repeater>
    private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
      {
       if(i%3==0&&i>0)
       {
         e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
       }
       i++;
      }
      

  2.   

    datalist只要设置RepeatColumns="3"就可以了
      

  3.   

    datalist能给个例子么我不知道怎么写模版
      

  4.   

        protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if ((e.Item.ItemIndex+1) % 3 == 0 )
                e.Item.Controls.Add(new LiteralControl("<table><tr><td></td></tr></table>")); 
        }
      

  5.   

    前台:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:DataList ID="DataList1" runat="server" DataKeyField="job_id" DataSourceID="SqlDataSource1"
                OnItemDataBound="DataList1_ItemDataBound" RepeatColumns=3>
                <ItemTemplate>
                    job_id:
                    <asp:Label ID="job_idLabel" runat="server" Text='<%# Eval("job_id") %>'></asp:Label><br />
                    job_desc:
                    <asp:Label ID="job_descLabel" runat="server" Text='<%# Eval("job_desc") %>'></asp:Label><br />
                    min_lvl:
                    <asp:Label ID="min_lvlLabel" runat="server" Text='<%# Eval("min_lvl") %>'></asp:Label><br />
                    max_lvl:
                    <asp:Label ID="max_lvlLabel" runat="server" Text='<%# Eval("max_lvl") %>'></asp:Label><br />
                    <br />
                </ItemTemplate>
            </asp:DataList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"
                SelectCommand="SELECT * FROM [jobs] ORDER BY [job_id]"></asp:SqlDataSource>
        
        </div>
        </form>
    </body>
    </html>后台
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
    }
      

  6.   

    datalist用RepeatColumns实现多列 
    参考 
    <asp:repeater id="Repeater1" runat="server"> 
    <ItemTemplate> 
    <td> <%#Eval("")%> </td> 
    </ItemTemplate> 
    </asp:repeater> 
    private void Repeater1_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) 
      { 
      if(i%3==0&&i>0) 
      { 
         e.Item.Controls.Add(new LiteralControl(" </tr> <tr>")); 
      } 
      i++; 
      } 
    <asp:DataList ID="DataList1" runat="server" DataKeyField="job_id" DataSourceID="SqlDataSource1" 
                OnItemDataBound="DataList1_ItemDataBound" RepeatColumns=3> 
                <ItemTemplate> 
                    job_id: 
                    <asp:Label ID="job_idLabel" runat="server" Text=' <%# Eval("job_id") %>'> </asp:Label> <br /> 
                    job_desc: 
                    <asp:Label ID="job_descLabel" runat="server" Text=' <%# Eval("job_desc") %>'> </asp:Label> <br /> 
                    min_lvl: 
                    <asp:Label ID="min_lvlLabel" runat="server" Text=' <%# Eval("min_lvl") %>'> </asp:Label> <br /> 
                    max_lvl: 
                    <asp:Label ID="max_lvlLabel" runat="server" Text=' <%# Eval("max_lvl") %>'> </asp:Label> <br /> 
                    <br /> 
                </ItemTemplate> 
            </asp:DataList>