repeater 分列显示以及布局的实例代码
<div>
<table>
<tr>
<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<td>
<table>
<tr>
<td colspan="2">
<img src='<%#"images/"+Eval("FoodPicture") %>' />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="Label1" runat="server" Text='<%#Eval("FoodName") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Text=' <%#Eval("FoodPrice") %>'></asp:Label>
</td>
<td>
<input type="image" src="images/product_add.png" onclick="product_add() " />
<%-- <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="images/product_add.png" />--%>
<asp:TextBox ID="TextBox1" Text="1" runat="server" Width="15px" ReadOnly="True"></asp:TextBox>
<input type="image" src="images/product_reduce.png" onclick="product_reduce()" />
<%--<asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="images/product_reduce.png" />--%>
</td>
</tr>
<tr>
<th colspan="2">
<asp:ImageButton ID="ImageButton3" ImageUrl="images/btn_order.gif" runat="server" />
</th>
</tr>
</table>
</td>
</ItemTemplate>
</asp:Repeater>
</tr>
</table>
</div>
后台
public int i = 1;
protected void Page_Load(object sender, EventArgs e)
{
string sqlstr = @"data source=PC-LENOVE\SQLEXPRESS;initial catalog=KFC;USER ID=SA;PASSWORD=abing520";
SqlConnection con = new SqlConnection(sqlstr);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "SELECT * FROM Foods";
cmd.Connection = con;
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
con.Dispose();
this.Repeater1.DataSource = dt;
this.Repeater1.DataBind();
}
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 4 == 0)//4是一行显示列数
{
e.Item.Controls.Add(new LiteralControl("</tr><tr>"));
}
i++;
}