Home >Backend Development >C#.Net Tutorial >asp.net Datalist control implements paging function
The code in the .aspx page
<asp:DataList ID="DataList1" runat="server" Width="976px" Height="745px" BorderWidth="2px" CellPadding="2" CellSpacing="2" RepeatColumns="7" RepeatDirection="Vertical" BorderColor="#666666"> <ItemTemplate > <table > <tr> <td > <a href='<%#"Show.aspx?iname="+Eval("iname")%>'><img src='upimage/<%#DataBinder.Eval(Container.DataItem,"iname") %>' width="120" alt="点击查看大图"/></a> </td> </tr> </table> </ItemTemplate> </asp:DataList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:S601ConnectionString %>" SelectCommand="SELECT [iname] FROM [Image]" ></asp:SqlDataSource> <table style="width: 976px" cellpadding="0" cellspacing="0"> <tr> <td style="width:976px; text-align: right; font-size:12pt; height:25px;"> <asp:Label ID="Label7" runat="server" Text="当前页码为:"></asp:Label> [ <asp:Label ID="labPage" runat="server" Text="1"></asp:Label> ] <asp:Label ID="Label6" runat="server" Text="总页码为:"></asp:Label> [ <asp:Label ID="labBackPage" runat="server"></asp:Label> ]<asp:LinkButton ID="lnkbtnOne" runat="server" Font-Underline="False" ForeColor="Red" OnClick="lnkbtnOne_Click">第一页</asp:LinkButton> <asp:LinkButton ID="lnkbtnUp" runat="server" Font-Underline="False" ForeColor="Red" OnClick="lnkbtnUp_Click">上一页</asp:LinkButton> <asp:LinkButton ID="lnkbtnNext" runat="server" Font-Underline="False" ForeColor="Red" OnClick="lnkbtnNext_Click">下一页</asp:LinkButton> <asp:LinkButton ID="lnkbtnBack" runat="server" Font-Underline="False" ForeColor="Red" OnClick="lnkbtnBack_Click">最后一页</asp:LinkButton> </td> </tr> </table>
In the .aspx.cs page
protected void Page_Load(object sender, EventArgs e) { dlBind(); } public void dlBind() { SqlConnection sqlcon; string strCon = "Data Source=(local);Database=S601;Uid=sa;Pwd=123456"; int curpage = Convert.ToInt32(this.labPage.Text); PagedDataSource ps = new PagedDataSource(); sqlcon = new SqlConnection(strCon); sqlcon.Open(); string sqlstr = "SELECT [iname],iid FROM [Image]"; SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlcon); DataSet ds = new DataSet(); MyAdapter.Fill(ds, "iid"); ps.DataSource = ds.Tables["iid"].DefaultView; ps.AllowPaging = true; //是否可以分页 ps.PageSize = 35; //显示的数量 ps.CurrentPageIndex = curpage - 1; //取得当前页的页码 this.lnkbtnUp.Enabled = true; this.lnkbtnNext.Enabled = true; this.lnkbtnBack.Enabled = true; this.lnkbtnOne.Enabled = true; if (curpage == 1) { this.lnkbtnOne.Enabled = false;//不显示第一页按钮 this.lnkbtnUp.Enabled = false;//不显示上一页按钮 } if (curpage == ps.PageCount) { this.lnkbtnNext.Enabled = false;//不显示下一页 this.lnkbtnBack.Enabled = false;//不显示最后一页 } this.labBackPage.Text = Convert.ToString(ps.PageCount); this.DataList1.DataSource = ps; this.DataList1.DataKeyField = "iid"; this.DataList1.DataBind(); sqlcon.Close(); } protected void lnkbtnOne_Click(object sender, EventArgs e) { this.labPage.Text = "1"; this.dlBind(); } protected void lnkbtnUp_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); this.dlBind(); } protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); this.dlBind(); } protected void lnkbtnBack_Click(object sender, EventArgs e) { this.labPage.Text = this.labBackPage.Text; this.dlBind(); }
For more articles related to the asp.net Datalist control implementing the paging function, please pay attention to the PHP Chinese website!