• jquery ajax 分页


    <script src="../Js/jQuery/jquery-1.8.2.min.js" type="text/javascript"></script>
    <script type="text/javascript">
    
            $(document).ready(function() {
                $("#pages").val(Math.ceil(50 / 10));
            });
            //翻页
            function changePage(ctype) {
                switch (ctype) {
                    case 'first':
                        $("#page").val(1); 
                        break;
                    case 'prev':
                        if ($("#page").val() > 1) {
                            var num = parseInt($("#page").val()) - 1;
                            $("#page").val(num);
                        } 
                        break;
                    case 'next':
                        if ($("#page").val() < $("#pages").val()) {
                            var num = parseInt($("#page").val()) + 1;
                            $("#page").val(num);
                        }
                        break;
                    case 'last':
                        $("#page").val($("#pages").val());
                        break;
                }       
    //            if ($("#newp").val() == $("#page").val())
    //                return false;
                populate();
            }
            
              //获取数据
            function populate() {
    
                if ($("#page").val() > $("#pages").val())
                    $("#page").val($("#pages").val());
    
                var param = [
                          { name: 'page', value: $("#page").val() }
                        , { name: 'rp', value: 10 }
                        , { name: 'sortname', value: "" }
                        , { name: 'sortorder', value: "" }
                        , { name: 'query', value: "" }
                        , { name: 'qtype', value: "" }
                        , { name: 'primaryKey', value: "" }
                    ];
                $.ajax({
                    type: "POST",
                    url: "HandlerPager.ashx?Action=Pagers",
                    async: true,
                    data: param,
                    dataType: "json",
                    success: function(data) {
                        $("#spanPageIndex").html(data);
                    },
                    error: function(data) {
                        try {
                        } catch (e) { }
                    }
                });
            }
        </script>
    <div>   
                <input type="hidden" value="1" id="page" /><!--当前页--> 
                <input type="hidden" value="1"id="pages" /><!--总页数-->
                
                <span id="first" onclick="changePage(this.id)">首页</span>
                <span id="prev" onclick="changePage(this.id)">上一页</span>
                <span id="spanPageIndex" >1</span>
                <span id="next" onclick="changePage(this.id)">下一页</span> 
                <span id="last" onclick="changePage(this.id)">尾页</span>
            </div>
     public class HandlerPager : IHttpHandler
        {
    
            private string requestParam = string.Empty;//HttpHandler用于异步调用提交的服务器类
            public void ProcessRequest(HttpContext context)
            {
                  requestParam = context.Request.QueryString["Action"];
    
                  switch (requestParam)
                  {
                      case "Pagers":        //
                          Pagers(context);
                          break;
                  } 
    
            }
    
            void Pagers(HttpContext context)
            {
                string result = string.Empty;
                Model_Wzsjfycs parm = FlexiGridParm.GetFlexiGridParam(context);
                result = parm.PageIndex.ToString();
                context.Response.ContentType = "text/plain";
                context.Response.Write(result);
            }
    
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
        /// <summary>
        /// 分页请求参数类  可有可无,为了方便获取数据
        /// </summary>
        public class Model_Wzsjfycs
        {
            /// <summary>
            /// 当前页码
            /// </summary>
            public int PageIndex;
            /// <summary>
            /// 
            /// </summary>
            public int PageSize;
            /// <summary>
            /// 主键
            /// </summary>
            public string PrimaryKey;
            /// <summary>
            /// 排序字段(多个字段用','号分开)
            /// </summary>
            public string OrderFields;
            /// <summary>
            /// 排序方式(asc 、desc)
            /// </summary>
            public string Order;
            /// <summary>
            /// 查询字段
            /// </summary>
            public string FilterFields;
            /// <summary>
            /// 查询内容
            /// </summary>
            public string FilterContents;
        }
     public class FlexiGridParm
        {
        
            /// <summary>
            /// 从HTTP中提取请求并封装FlexiGridParm类 用于解析 HttpContent请求上下文对象(页面发送请求的数据 以及 请求后返回的数据 );
            /// </summary>
            /// <param name="context">HttpContext</param>
            /// <returns>Model_PagingParm</returns>
            public static Model_Wzsjfycs GetFlexiGridParam(HttpContext context)
            {
                string pageIndex = context.Request["page"],
                       pageSize = context.Request["rp"],
                       primaryKey = context.Request["primaryKey"],
                       orderFields = context.Request["sortname"],
                       order = context.Request["sortorder"],
                       filterFields = context.Request["qtype"],
                       filterContents = context.Request["query"];
    
                Model_Wzsjfycs parm = new Model_Wzsjfycs();
                //当前页码
                if (!string.IsNullOrEmpty(pageIndex))
                    parm.PageIndex = int.Parse(pageIndex);
                else
                    parm.PageIndex = 0;
                //一页显示条数
                if (!string.IsNullOrEmpty(pageSize))
                    parm.PageSize = int.Parse(pageSize);
                else
                    parm.PageSize = 0;
                //主键
                if (!string.IsNullOrEmpty(primaryKey))
                    parm.PrimaryKey = primaryKey;
                else
                    parm.PrimaryKey = string.Empty;
                //排序
                if (!string.IsNullOrEmpty(orderFields))
                    parm.OrderFields = orderFields.Trim();
                else
                    parm.OrderFields = string.Empty;
                //排序字段
                if (!string.IsNullOrEmpty(order) && order.ToLower() == "desc")
                    parm.Order = "desc";
                else
                    parm.Order = "asc";
                //查询字段
                if (!string.IsNullOrEmpty(filterFields) && filterContents != null)
                {
                    parm.FilterFields = filterFields;
                    parm.FilterContents = context.Server.UrlDecode(filterContents);
                }
                else
                    parm.FilterFields = parm.FilterContents = string.Empty;
    
                return parm;
            }
    
            /// <summary>
            /// 获取FlexiGridParm 对象
            /// </summary>
            /// <param name="pageIndex">当前页码</param>
            /// <param name="pageSize">一页显示条数</param>
            /// <param name="primaryKey">主键</param>
            /// <param name="orderFields">排序字段(多个用','号隔开)</param>
            /// <param name="order">排序方式(asc、desc)</param>
            /// <param name="filterFields">查询字段</param>
            /// <param name="filterContents">查询内容</param>
            /// <returns>Model_PagingParm</returns>
            public static Model_Wzsjfycs GetFlexiGridParam(int pageIndex, int pageSize, string primaryKey, string orderFields, string order, string filterFields, string filterContents)
            {
                Model_Wzsjfycs parm = new Model_Wzsjfycs();
                parm.PageIndex = pageIndex;
                parm.PageSize = pageSize;
                parm.PrimaryKey = primaryKey;
                parm.OrderFields = orderFields;
                parm.Order = order;
                parm.FilterFields = filterFields;
                parm.FilterContents = filterContents;
                return parm;
            }
     
    
        }        
  • 相关阅读:
    testlink安装全攻略
    软件测试过程管理脑图
    VBS: FSO对象及文件读写
    最简单的NT驱动
    过DNF TP驱动保护(二)(转载)
    DebugPrint格式输出
    ObReferenceObjectByName
    最简单的WDM驱动
    设备对象(DEVICE_OBJECT)设备名称
    ObReferenceObjectByHandle内核函数
  • 原文地址:https://www.cnblogs.com/dragon-L/p/4326391.html
Copyright © 2020-2023  润新知