zoukankan      html  css  js  c++  java
  • 异步分页

    /// <summary>
    /// 生成分页数列
    /// </summary>
    /// <param name="pageIndex">第几页</param>
    /// <param name="pagenum">总页数</param>
    /// <param name="total">设计总页数</param>
    /// <returns>int数组</returns>
    public static int[] fenye(int pageIndex, int pagenum,int total)
    {
    //当总页数小于分页数量时
    if (pagenum < total)
    {
    int[] list = new int[pagenum+2];
    //判断上一页
    if (pageIndex <= 1)
    {
    list[0] = 1;
    }
    else
    {
    list[0] = pageIndex-1;
    }
    //判断上一页
    if (pageIndex >= pagenum)
    {
    list[pagenum + 1] = pagenum;
    }
    else
    {
    list[pagenum + 1] = pageIndex + 1;
    }
    //给其他赋值
    for (int i = 0; i < pagenum; i++)
    {
    list[i + 1] = i + 1;
    }
    return list;
    }
    else
    { 
    int[] list=new int[total+2];
    //判断上一页
    if (pageIndex <= 1)
    {
    list[0] = 1;
    }
    else
    {
    list[0] = pageIndex - 1;
    }
    //判断上一页
    if (pageIndex >= pagenum)
    {
    list[pagenum + 1] = pagenum;
    }
    else
    {
    list[pagenum + 1] = pageIndex + 1;
    }
    //给其他赋值
    if (pageIndex > 1 && pageIndex <= (pagenum - total + 1))
    {
    for (int i = 0; i < total; i++)
    {
    list[i + 1] = pageIndex+i;
    }
    }
    if (pageIndex <= 1)
    {
    for (int i = 0; i < total; i++)
    {
    list[i + 1] = i+1;
    }
    }
    if (pageIndex > (pagenum - total + 1))
    {
    for (int i = 0; i < total; i++)
    {
    list[i + 1] = pagenum-total+1+i;
    }
    }
    return list;
    }
    
    }
    /// <summary>
    /// 生成分页代码
    /// </summary>
    /// <param name="list">int数组</param>
    /// <param name="url">url</param>
    /// <param name="pageindex">第几页</param>
    /// <returns>string</returns>
    public static string FENYE(int[] list, string url, int pageindex)
    {
    StringBuilder code = new StringBuilder();
    code.Append("<a class='sxy' style='81px;' href='").Append(url).Append("?pageindex=").Append(list[0]).AppendLine("'>&lt; 上一页</a>");
    for (int i = 0; i < (list.Length - 2); i++)
    {
    if ((i+1) == pageindex)
    {
    code.Append("<a class='hover' href='").Append(url).Append("?pageindex=").Append(list[i + 1]).Append("'>").Append(list[i + 1]).AppendLine("</a>");
    }
    else
    {
    code.Append("<a href='").Append(url).Append("?pageindex=").Append(list[i + 1]).Append("'>").Append(list[i + 1]).AppendLine("</a>");
    }
    }
    code.Append("<a class='sxy' style='81px;' href='").Append(url).Append("?pageindex=").Append(list[list.Length - 1]).AppendLine("'>&lt; 下一页</a>");
    return code.ToString();
    }
    /// <summary>
    /// 生成异步分页代码
    /// </summary>
    /// <param name="list">int数组</param>
    /// <param name="pageindex">第几页</param>
    /// <returns>string</returns>
    public static string FENYE(int[] list, int pageindex,int pagenum)
    {
    StringBuilder code = new StringBuilder();
    code.AppendLine("<a class='shouy hover' onclick='Page(1)' href='javascript:void(0)'>首页</a>");
    code.Append("<a class='sxy' style='81px;' href='").Append("javascript:void(0)").Append("' onclick='Page(").Append(list[0]).AppendLine(")'>&lt; 上一页</a>");
    for (int i = 0; i < (list.Length - 2); i++)
    {
    if ((i + 1) == pageindex)
    {
    code.Append("<a class='hover' href='").Append("javascript:void(0)").Append("' onclick='Page(").Append(list[i + 1]).Append(")'>").Append(list[i + 1]).AppendLine("</a>");
    }
    else
    {
    code.Append("<a href='").Append("javascript:void(0)").Append("' onclick='Page(").Append(list[i + 1]).Append(")'>").Append(list[i + 1]).AppendLine("</a>");
    }
    }
    code.Append("<a class='sxy' style='81px;' href='").Append("javascript:void(0)").Append("' onclick='Page(").Append(list[list.Length - 1]).AppendLine(")'>&lt; 下一页</a>");
    code.AppendLine("<a class='shouy hover' onclick='Page(1)' href='javascript:void(0)'>首页</a>");
    code.AppendLine("<a class='shouy' href='javascript:void(0)' onclick='Page(").Append(pagenum).Append(")'>末页</a>");
    return code.ToString();
    }
    
     
    
     
    
     
    
    if (action == "GetData")
    {
    string key=context.Request.Params["li"];
    string s = context.Request.Params["PageIndex"];
    int pageindex = context.Request.Params["PageIndex"] == null ? 1 : Convert.ToInt16(context.Request.Params["PageIndex"]);
    List<T_Log> list = new List<T_Log>();
    T_LogDAL log=new T_LogDAL();
    int i = log.GetAllNum();
    i = (int)Math.Ceiling(i / (10 * 1.0));
    if (key == "load")
    {
    list = log.GetData(pageindex);
    }
    else
    {
    list = log.GetData(key,pageindex);
    }
    int[] num = CommonHelper.fenye(pageindex,i,8);
    string code = CommonHelper.FENYE(num,pageindex,i);
    JavaScriptSerializer json = new JavaScriptSerializer();
    var data = new {Page=code,Data=list };
    string str = json.Serialize(data);
    context.Response.Write(str);
    return;
    }

    资料获取方式,关注公总号RaoRao1994,查看往期精彩-所有文章,即可获取资源下载链接

    更多资源获取,请关注公总号RaoRao1994

  • 相关阅读:
    使用 OpCache 提升 PHP 性能
    在线视频开发博客教程
    修正ECMALL在PHP5.3以上版本中无法开启支付方式的BUG
    第二个小项目的讲解后感言
    mybatis进行分页,使用limit
    mybatis传递多个参数值(转)
    一个关于前端页面的小标签<tbody>
    json-lib的一些过滤操作
    关键字volidate和transient(转)
    Java中实现序列化的两种方式 Serializable 接口和 Externalizable接口
  • 原文地址:https://www.cnblogs.com/raorao1994/p/5083569.html
Copyright © 2011-2022 走看看