datalist和repeater一样,都是根据自己的需要添加自己的模板,简单例子如下:
前台代码如下:
<body> <form id="form1" runat="server"> <div> <asp:DataList ID="DataList1" runat="server" DataKeyField="ID" RepeatDirection="Horizontal"> <ItemTemplate> <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 /> </div> </ItemTemplate> </asp:DataList> 当前页:<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> </div> </form> </body>
后台代码如下:
protected void Page_Load(object sender, EventArgs e) { DataListBind(); } 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(); oda.Fill(ds); PagedDataSource ps = new PagedDataSource(); ps.DataSource = ds.Tables[0].DefaultView; ps.AllowPaging = true; ps.PageSize = 4; lblTotal.Text = ps.PageCount.ToString(); ps.CurrentPageIndex = current_page - 1; lbtnFirst.Enabled = true; lbntUp.Enabled = true; lbtnDown.Enabled = true; lbtnLast.Enabled = true; if (current_page == 1) { lbtnFirst.Enabled = false; lbntUp.Enabled = false; } if (current_page == Convert.ToInt32(lblTotal.Text)) { lbtnLast.Enabled = false; lbtnDown.Enabled = false; } DataList1.DataSource = ps; DataList1.DataBind(); } protected void lbtnFirst_Click(object sender, EventArgs e) { lblCurrent.Text = "1"; DataListBind(); } protected void lbtnDown_Click(object sender, EventArgs e) { lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) + 1).ToString(); DataListBind(); } protected void lbntUp_Click(object sender, EventArgs e) { lblCurrent.Text = (Convert.ToInt32(lblCurrent.Text) - 1).ToString(); DataListBind(); } protected void lbtnLast_Click(object sender, EventArgs e) { lblCurrent.Text = lblTotal.Text; DataListBind(); }
运行结果如下图: