<tr> <td align="right">总共 <asp:Label runat="server" ID="lblPages" ForeColor="#ff6600" Text="0"></asp:Label> 条 每页 10 行 <asp:LinkButton runat="server" ID="lbFirst" CommandArgument="first" Text="首页" oncommand="lbFirst_Command"></asp:LinkButton> | <asp:LinkButton runat="server" ID="lbPrev" CommandArgument="prev" oncommand="lbFirst_Command" Text="上页"></asp:LinkButton> | <asp:LinkButton runat="server" ID="lbNext" CommandArgument="next" oncommand="lbFirst_Command" Text="下页"></asp:LinkButton> | <asp:LinkButton runat="server" ID="lbLast" CommandArgument="last" oncommand="lbFirst_Command" Text="末页"></asp:LinkButton> 第 1/1 页 转到 <asp:TextBox runat="server" ID="tbPageNumber" Width="50px" CssClass="input_01"></asp:TextBox> <asp:LinkButton runat="server" ID="lbGo"> <img src="../images/result_search_job_info_for_all_button_go.jpg" mce_src="images/result_search_job_info_for_all_button_go.jpg" width="29" height="18" border="0" /></asp:LinkButton> </td> </tr> protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hfCurrPage.Value = "1"; GetData(); } } public void GetData() { hfCount.Value = "0"; DataTable dt = new DAL.Tables.T_Attachments().Open("", "[UserID] = " + user.ID.ToString(), "[DateTime] desc"); if (dt != null) { hfCount.Value = (dt.Rows.Count % 10 == 0 ? dt.Rows.Count / 10 : dt.Rows.Count / 10 + 1).ToString(); } BindData(1); } private void BindData(int index) { DataTable dt = new DAL.Tables.T_Attachments().Open("", "[UserID] = " + user.ID.ToString(), "[DateTime] desc"); PagedDataSource pds = new PagedDataSource(); pds.AllowPaging = true; pds.PageSize = 10; pds.CurrentPageIndex = index - 1; if (dt != null && pds.CurrentPageIndex >= 0) { pds.DataSource = dt.DefaultView; dlAttachmentList.DataSource = pds; dlAttachmentList.DataBind(); lbAttachment.Text = dt.Rows.Count.ToString(); lblPages.Text = dt.Rows.Count.ToString(); } } protected void lbFirst_Command(object sender, CommandEventArgs e) { string arg = e.CommandArgument.ToString(); switch (arg) { case "first": hfCurrPage.Value = "1"; break; case "prev": if (Convert.ToInt32(hfCurrPage.Value) - 1 <= 1) { hfCurrPage.Value = "1"; } else { hfCurrPage.Value = (Convert.ToInt32(hfCurrPage.Value) - 1).ToString(); } break; case "next": if (Convert.ToInt32(hfCurrPage.Value) + 1 >= Convert.ToInt32(hfCount.Value)) { hfCurrPage.Value = hfCount.Value; } else { hfCurrPage.Value = (Convert.ToInt32(hfCurrPage.Value) + 1).ToString(); } break; case "last": hfCurrPage.Value = hfCount.Value; break; } BindData(Convert.ToInt32(hfCurrPage.Value)); }