zoukankan      html  css  js  c++  java
  • asp.net练习②——Paginaton无刷新分页

    aspx代码:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>无刷新分页</title>
        <link href="css/pagination.css" rel="stylesheet" />
        <script src="js/jquery-3.1.1.min.js"></script>
        <script src="js/jquery.pagination.js"></script>
        <script type="text/javascript">
            var pageIndex = 0;  //页面索引初始值
            var pageSize = 3;  //每页显示条数初始值
            $(function () {
                InitTable(0);   //初始化表格数据
                //分页,pageCount是总条目数,必选参数,其余可选参数
                $("#Pagination").pagination(<%=pcount%>,{
                    callback : PageCallBack,  //PageCallback() 为翻页调用次函数
                    prev_text : "<<上一页",
                    next_text : "下一页>>",
                    items_per_page : pageSize,  //每页显示的条目数
                    num_edge_entries : 2,   //连接“下一页”显示的分页数
                    num_display_entries : 3,    //连续“上一页”显示的分页数
                    current_page: pageIndex,    //当前页索引
                });
            });
            //Load事件,初始化表格数据,请求数据
            function InitTable(pageIndex)
            {
                var data = {
                    'PageSize': pageSize,
                    'PageIndex':pageIndex
                };
                //alert(data.PageSize);
                $.ajax({
                    type: "POST",
                    datatype: "xml",    //后台返回dataset,这里要用xml
                    url: "/_WebService/_AaronTest.asmx/GetBindSource",
                    data: data,
                    success: function (result) {                    
                        $("#Result tr:gt(0)").remove(); //移除Id为Result的表格里的行,从第二行开始
                        //演示一下捕获
                        try{
                            $(result).find("Table").each(function(){
                                //alert($(this).find("PCNum").text());  //用这个格式获取数据
                                $("#Result").append("<tr><td>" + $(this).find("PCNum").text() + "</td><td>"+$(this).find("NetIP").text() + "</tr>");
                            });
                        }
                        catch(ex){
                            alert(ex);
                            return;
                        }
                    },
                    error: function(result, status){    //如果上面的捕获出错会执行这里的回调函数
                        if(status == 'error'){
                            alert(status);
                        }
                    }
                });
            }
            //翻页调用函数
            function PageCallBack(index, jq) {
                InitTable(index);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            jquery无刷新分页测试:<br />
            <table id="Result">            
                    <tr>  
                        <th>PCNum</th>
                        <th>NetIP</th>
                    </tr>                                                                                               
            </table> 
            <div id="Pagination" class="flickr"></div> 
    
    <%--<div id="Pagination" class="flickr"></div>
    <div id="Pagination" class="meneame"></div> 
    <div id="Pagination" class="scott"></div> 
    <div id="Pagination" class="quotes"></div> 
    <div id="Pagination" class="black"></div> --%>
        </form>
    </body>
    </html>
    

      

    aspx.cs代码:

     protected int pcount = 0;   //总条数
    
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    _PCManager pcm = new _PCManager();
                    pcount = pcm.GetTotalCount();   //获取总条数
                }
            }
    

      

    asmx代码:

    [WebMethod(Description = "获取分页数据,返回DataSet")]
            public DataSet GetBindSource(int PageSize, int PageIndex)
            {
                _PCManager pcm = new _PCManager();
                return pcm.GetListByPage(PageSize, PageIndex);
            }
    

      

    SQL存储过程:

    ALTER proc [dbo].[GetPCInfoByPage]
    @pageSize int,
    @pageIndex int
    as
    
    declare @pageCountStart int
    set @pageCountStart = @pageSize * @pageIndex
    
    declare @pageCountEnd int
    set @pageCountEnd = @pageSize * (@pageIndex + 1)
    
    select * from (
    	select ROW_NUMBER() over (order by ID asc) row,*
    	from PCInfo
    )t
    where t.row>@pageCountStart and t.row<=@pageCountEnd
    

      

    效果截图:

    源代码链接:http://pan.baidu.com/s/1sl8OySH

  • 相关阅读:
    使用RoboCopy 命令[转载]
    取得超级管理员权限
    重置网络命令win7
    ASP.NET Global.asax详解【转】
    逆波兰式算法
    设计模式【转自JackFrost的博客】
    VS2013 F12无法转到函数的定义处,总是从“元数据”获取的问题 ——解决方法
    扩展方法 C#
    委托Func和Action【转】
    添加路由
  • 原文地址:https://www.cnblogs.com/xiaoli9627/p/6341412.html
Copyright © 2011-2022 走看看