datalist和repeater一样,都是根据自己的需要添加自己的模板
前台代码如下:
<form id="form1" runat="server"> |
<asp:DataList ID="DataList1" runat="server" DataKeyField="ID" RepeatDirection="Horizontal"> |
<div style="text-align: left; background-color: #99ffcc;"> |
ID:<asp:Label ID="IDLabel" runat="server" Text='<%# Eval("ID") %>'></asp:Label><br /> |
Name:<asp:Label ID="Pro_NameLabel" runat="server" Text='<%# Eval("Name") %>'></asp:Label><br /> |
Price:<asp:Label ID="Pro_PriceLabel" runat="server" Text='<%# Eval("Price") %>'></asp:Label><br /> |
Introduce:<asp:Label ID="Pro_IntroduceLabel" runat="server" Text='<%# Eval("Introduce") %>'></asp:Label><br /> |
当前页:<asp:Label ID="lblCurrent" runat="server" Text="1"></asp:Label> |
总页数:<asp:Label ID="lblTotal" runat="server" Text="Label"></asp:Label> |
<asp:LinkButton ID="lbtnFirst" runat="server" OnClick="lbtnFirst_Click">第一页</asp:LinkButton> |
<asp:LinkButton ID="lbntUp" runat="server" OnClick="lbntUp_Click">上一页</asp:LinkButton> |
<asp:LinkButton ID="lbtnDown" runat="server" OnClick="lbtnDown_Click">下一页</asp:LinkButton> |
<asp:LinkButton ID="lbtnLast" runat="server" OnClick="lbtnLast_Click">最后一页</asp:LinkButton> |
后台代码如下:
protected void Page_Load(object sender, EventArgs e) |
private void DataListBind() |
int current_page = Convert.ToInt32(lblCurrent.Text); |
SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); |
SqlDataAdapter oda = new SqlDataAdapter("select * from June_Pro", con); |
DataSet ds = new DataSet(); |
PagedDataSource ps = new PagedDataSource(); |
ps.DataSource = ds.Tables[0].DefaultView; |
lblTotal.Text = ps.PageCount.ToString(); |
ps.CurrentPageIndex = current_page - 1; |
lbtnFirst.Enabled = true; |
lbtnFirst.Enabled = false; |
if (current_page == Convert.ToInt32(lblTotal.Text)) |
lbtnLast.Enabled = false; |
lbtnDown.Enabled = false; |
DataList1.DataSource = ps; |
protected void lbtnFirst_Click(object sender, EventArgs e) |
protected void lbtnDown_Click(object sender, EventArgs e) |
lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) + 1).ToString(); |
protected void lbntUp_Click(object sender, EventArgs e) |
lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) - 1).ToString(); |
protected void lbtnLast_Click(object sender, EventArgs e) |
lblCurrent.Text = lblTotal.Text; |
运行结果如下:
