当前位置: 首页 > 工具软件 > Pagination > 使用案例 >

jquery.pagination分页

慕容昊焜
2023-12-01

 

 发现jquery的分页插件pagination后,在网上找了下,好像没找到把这个分页效果和查询数据内容结合的例子,所以就自己动手尝试下做做:

首先我们需要2个页面,pagination.aspx(展示页面)和ajaxpagination.aspx(ajax数据处理页面)还有就是我们的主角jquery.pagination.js和pagination.css。

先看pagination.aspx页面

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head >
  4.     <title>无标题页</title>
  5.     <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  6. <link rel="stylesheet" href="js-css/pagination.css" />
  7. <script type="text/javascript" src="js-css/jquery-1[1].2.6.min.js"></script>
  8. <script type="text/javascript" src="js-css/jquery.pagination.js"> </script>
  9. <script type="text/javascript" src="js-css/jpage.js"> </script>
  10.      
  11.     <script language="javascript" type="text/javascript">
  12.         $(document).ready
  13.         (
  14.             function()
  15.             {
  16.                 var pageNum = "<% =PageNum %>";
  17.             
  18.                  enURL = "ajaxpagination.aspx";
  19.                 if(pageNum > 0)
  20.                 {
  21.                     loadPagination("Pagination", pageNum);
  22.                 }
  23.             }
  24.         );
  25.     </script>
  26. </head>
  27. <body>
  28.     
  29. <form runat="server">
  30.     <%--    加载分页插件--%>
  31.         <div id="Pagination" class="pagination"></div>
  32.         
  33.     <%--分页内容 --%>
  34.         <div id="Listinfo"></div>
  35.    </form>
  36. </body>
  37. </html>

后台代码:

    protected string PageNum;
    public string connstr = "server=HAO-FNHTTF6NIZ0//SQLEXPRESS;database=so;uid=sa;pwd=123456";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            //打开数据库表
            PageNum = OpenTable().ToString();


        }

    }
    /// <summary>
    /// 读取数据库数据zongshu
    /// </summary>
    /// <returns></returns>
    public int OpenTable()
    {

        SqlConnection mycon = new SqlConnection(connstr);
        mycon.Open();
        SqlCommand mycom = new SqlCommand("select count(1) from ****", mycon);
        int count = int.Parse(mycom.ExecuteScalar().ToString());
        return count;
    }

 

上面代码13行的jpage.js:

  1. // JScript 文件
  2. var i, enURL;
  3. //ajax事件
  4. function ajax(type, url, data, cache, webpage)
  5. {
  6.     $.ajax({
  7.             type: type,
  8.             url: url,
  9.             data: data,
  10.             cache: cache,
  11.             complete: function()
  12.             {
  13.             },
  14.             success: function(cont)
  15.             {
  16.                 if(type == "get")
  17.                 {
  18.             
  19.       
  20.                     $("#" + webpage).html(cont);
  21.                 }
  22.                 else
  23.                 {
  24.                     webpage();
  25.                 }
  26.             }
  27.         });
  28. }
  29. //首次加载ajax事件
  30. function loadAjax(url, data, webpage)
  31. {
  32.     $.ajax
  33.     (
  34.         {
  35.             type: "get",
  36.             url: url,
  37.             data: data,
  38.             success: function(cont)
  39.             {
  40.                 $("#" + webpage).html(cont);
  41.             }
  42.         }
  43.     );
  44. }
  45.   //分页按钮事件
  46. function pageselectCallback(page_id, jq){
  47.    
  48.     var page = page_id + 1;
  49.     var data;
  50.         data = "page=" + page;
  51.         ajax("get", enURL, data, false"Listinfo");
  52. }
  53.             
  54. function loadPagination(id, num)
  55. {
  56.                 // Create pagination element
  57.  $("#" + id).empty();
  58.     $("#" + id).pagination(
  59.                     num, 
  60.                     {
  61.                     num_edge_entries: 2,
  62.                     num_display_entries: 4,
  63.                     prev_text:'上一页',
  64.                     next_text:'下一页',
  65.                     callback: pageselectCallback
  66.                      }
  67.                 );
  68.       }
  69.  $(document).ready(function(){   
  70.         loadAjax(enURL, null"Listinfo");
  71.                 });

我们在来看另外一个 页面:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" >
  3. <head id="Head1" runat="server">
  4.     <title>无标题页</title>
  5. </head>
  6. <body>
  7. <asp:Repeater ID="rpList" runat="server">
  8.         <ItemTemplate>
  9.                <%# Eval("id")%>
  10.                    
  11.                  <%# Eval("title")%>
  12.                           
  13.                  <%# Eval("content")%>
  14. <hr />
  15.         </ItemTemplate>
  16.     </asp:Repeater>
  17. </body>
  18. </html>

后台程序:

  1. public string connstr = "server=HAO-FNHTTF6NIZ0//SQLEXPRESS;database=so;uid=sa;pwd=123456";
  2.     protected void Page_Load(object sender, EventArgs e)
  3.     {
  4.         if (!Page.IsPostBack)
  5.         {
  6.             //打开数据库表
  7.             if (Request.QueryString["page"] != null)
  8.             {
  9.                 OpenTable(int.Parse(Request.QueryString["page"]));
  10.             }
  11.             else
  12.             {
  13.                 OpenTable(1);
  14.             }
  15.         }
  16.     }
  17.     /// <summary>
  18.     /// 读取数据库数据构建索引
  19.     /// </summary>
  20.     /// <returns></returns>
  21.     public void OpenTable(int page)
  22.     {
  23.         SqlConnection mycon = new SqlConnection(connstr);
  24.         mycon.Open();
  25.         SqlCommand mycom = new SqlCommand("select top 10 * from **** WHERE (ID NOT IN (SELECT TOP (10*(" + page + "-1)) ID FROM so_main ))", mycon);
  26.         SqlDataAdapter da = new SqlDataAdapter(mycom);
  27.         DataTable dt = new DataTable();
  28.         da.Fill(dt);
  29.         if (dt.Rows.Count == 0)
  30.         {
  31.             Response.Write("<br />没有符合条件的数据");
  32.         }
  33.         else
  34.         {
  35.             rpList.DataSource = dt;
  36.             rpList.DataBind();
  37.         }
  38.     }

上面的方法只是我个人测试随便写的

不知道还有没有其他的好的方法,请大虾们指教下。

 类似资料: