在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
前台设计: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="paging.aspx.cs" Inherits="五二一练习.paging" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="js/Jquery1.7.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#txtPagination').focus(function () { $(this).val(""); }) }) </script> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Height="336px" Width="685px"> <Columns> <asp:BoundField DataField="Id" HeaderText="编号" /> <asp:BoundField DataField="NewsTitle" HeaderText="标题" /> <asp:BoundField DataField="NewsContent" HeaderText="内容" /> <asp:BoundField DataField="CreateTime" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="发布时间" /> </Columns> </asp:GridView> <asp:LinkButton ID="btnFirst" runat="server" onclick="btnFirst_Click">第一页</asp:LinkButton> <asp:LinkButton ID="btnPre" runat="server" onclick="btnPre_Click">上一页</asp:LinkButton> <asp:LinkButton ID="btnNext" runat="server" onclick="btnNext_Click">下一页</asp:LinkButton> <asp:LinkButton ID="btnLast" runat="server" onclick="btnLast_Click">最后一页</asp:LinkButton><asp:TextBox ID="txtPagination" runat="server"></asp:TextBox> <asp:LinkButton ID="btnSkip" runat="server" onclick="btnSkip_Click">GO</asp:LinkButton> </div> </form> </body> </html> 首先在数据库创建存储过程 复制代码 代码如下: create proc usp_role_GetDateByPageIndex @pageSize int, @pageIndex int as begin select * from ( select *,ROW_NUMBER() over(order by role_id) as rownumber from role) as tbl where tbl.rownumber between (@pageSize*(@pageIndex-1)+1) and @pageIndex*@pageSize end exec usp_role_GetDateByPageIndex 5,3 在项目中添加BLL,DAL,DataAccess,MODEL层 在DAL中写一个方法: 复制代码 代码如下: //自己写的方法,分页获取数据列表 public DataTable GetListDataTable(int PageSize, int PageIndex) { SqlParameter[] parameters = { new SqlParameter("@PageSize", SqlDbType.Int), new SqlParameter("@PageIndex", SqlDbType.Int) }; parameters[0].Value = PageSize; parameters[1].Value = PageIndex; return DbHelperSQL.RunProcedureDataTable("usp_role_GetDateByPageIndex", parameters); } 在BLL中调用GetListDataTable: public DataTable GetListDataTable(int pagesize, int pageindex) { return dal.GetListDataTable(pagesize, pageindex); } 在DbHelper中添加RunProcedureDataTable方法: public static DataTable RunProcedureDataTable(string stroreProcName, IDataParameter[] parameters) { using (SqlConnection connection = new SqlConnection(connectionString)) { DataTable dt = new DataTable(); connection.Open(); SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = BuildQueryCommand(connection, stroreProcName, parameters); sqlDA.Fill(dt); connection.Close(); return dt; } } 然后在后台调用即可: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace 练习 { public partial class paging : System.Web.UI.Page { int pagesize = 10; int pageindex = 1; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ViewState["pageindex"] = 1; LadaData(); GetListPageindex(); } } private void GetListPageindex() { BLL.T_News1 bnews = new BLL.T_News1(); int totalcount = bnews.GetRecordCount(""); if (totalcount % pagesize == 0) { ViewState["lastpageindex"] = totalcount / pagesize; } else { ViewState["lastpageindex"] = totalcount / pagesize + 1; } } private void LadaData() { BLL.T_News1 bnews = new BLL.T_News1(); DataTable dt = bnews.GetListDataTable(pagesize, Convert.ToInt32(ViewState["pageindex"])); this.GridView1.DataSource = dt; this.GridView1.DataBind(); } //第一页 protected void btnFirst_Click(object sender, EventArgs e) { ViewState["pageindex"] = 1; LadaData(); } //上一页 protected void btnPre_Click(object sender, EventArgs e) { int pageindex = Convert.ToInt32(ViewState["pageindex"]); if (pagesize>1) { pageindex--; ViewState["pageindex"] = pageindex; LadaData(); } } //下一页 protected void btnNext_Click(object sender, EventArgs e) { int pageindex = Convert.ToInt32(ViewState["pageindex"]); if (pageindex<Convert.ToInt32(ViewState["lastpageindex"])) { pageindex++; ViewState["pageindex"] = pageindex; LadaData(); } } //最后一页 protected void btnLast_Click(object sender, EventArgs e) { ViewState["pageindex"] = ViewState["lastpageindex"]; LadaData(); } //跳转页面 protected void btnSkip_Click(object sender, EventArgs e) { int result; if (int.TryParse(txtPagination.Text, out result) == true) { ViewState["pageindex"] = txtPagination.Text.Trim(); LadaData(); } else { txtPagination.Text = "请输入合法的数字"; } } } } |
请发表评论