呵呵,最简单的分页

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// LvEasyPager 的摘要说明
/// </summary>
public class LvEasyPager
{
  
/// <summary>
  
/// 呵呵,最简单的分页,2006.11.21
  
/// 普通情况下我用自己的分页控件
  
/// 但这次情况不一样,所以写了一个小函数,用UL,LI标签,样式就自己定义吧
  
/// ewebapp.cnblogs.com
  
/// www.lvjiyong.com
  
/// </summary>
  public LvEasyPager()
  {
    
//
    
// TODO: 在此处添加构造函数逻辑
    
//
  }
  
/// <summary>
  
/// 最简单的分页
  
/// </summary>
  
/// <param name="url">格式化URL,abc.com/page/{0}</param>
  
/// <param name="abs">当前页</param>
  
/// <param name="pageSize">每页记录数</param>
  
/// <param name="total">总记录数</param>
  
/// <returns></returns>
  public static string Create(string url, int abs,int pageSize, int total)
  {
    
if (total <= pageSize) return null;
    
string jiyong = string.Empty;

    
string urlFormat = @"<li class=""{0}"" ><a href=""{1}""  >{2}</a></li>";

    
string urlFormat2 = @"<li class=""{0}"" {3}>{2}</li>";

    
int pageNum = total / pageSize;

    
if (total % pageSize > 0) pageNum++;

    
//HttpContext.Current.Response.Write(pageNum.ToString());

    
//.首页

    
if (abs <= 1)
    {
      
//jiyong += "<li class=\"p10\"><a href=\"" + string.Format(url, abs) + "\">;
      jiyong += string.Format(urlFormat2, "first"string.Format(url, "1"), "<a><<</a>""disabled=\"true\"");

    }
    
else
    {
      jiyong 
+= string.Format(urlFormat, "first"string.Format(url, "1"), "<<""");
    }

    
//上一页

    
if (abs < 1) abs = 1;

    
if (abs == 1)
    {
      
//jiyong += "<li class=\"p10\"><a href=\"" + string.Format(url, abs) + "\">;
      jiyong += string.Format(urlFormat2, "pre"string.Format(url, (abs - 1).ToString()), "<a><</a>""disabled=\"true\"");

    }
    
else
    {
      jiyong 
+= string.Format(urlFormat, "pre"string.Format(url, (abs-1).ToString()), "<""");
    }
    
//Loop

    
int pre = abs - 5;

    
if (pre <= 0)
    {
      pre 
= 1;
    }
    
for (int i = pre; i < abs; i++)
    {
      jiyong 
+= string.Format(urlFormat, "page"string.Format(url, i.ToString()), i.ToString(), "");
    }


    
//当前页
    jiyong += string.Format(urlFormat2, "abs"string.Format(url, abs.ToString()), "<a>" + abs.ToString() + "</a>""disabled=\"true\"");



    
//loop下5页
    int next = abs + 5;
    
if (next > pageNum) next = pageNum;

    
for (int i = abs+1; i < next+1; i++)
    {
      jiyong 
+= string.Format(urlFormat, "page"string.Format(url, i.ToString()), i.ToString(), "");
    }


    
//下一页

    
if (abs == pageNum)
    {
      
//jiyong += "<li class=\"p10\"><a href=\"" + string.Format(url, abs) + "\">;
      jiyong += string.Format(urlFormat2, "pre"string.Format(url, (abs + 1).ToString()), "<a>></a>""disabled=\"true\"");

    }
    
else
    {
      jiyong 
+= string.Format(urlFormat, "pre"string.Format(url, (abs + 1).ToString()), ">""");
    }


    
//.尾页

    
if (abs == pageNum)
    {
      
//jiyong += "<li class=\"p10\"><a href=\"" + string.Format(url, abs) + "\">;
      jiyong += string.Format(urlFormat2, "last"string.Format(url, pageNum.ToString()), "<a>>></a>""disabled=\"true\"");

    }
    
else
    {
      jiyong 
+= string.Format(urlFormat, "last"string.Format(url, pageNum.ToString()), ">>""");
    }

    
return jiyong;
  }
}

posted @ 2006-11-30 10:57 阅读(1011) 评论(4)  编辑 收藏 所属分类: .NET学习汇总

  回复  引用  查看    
#1楼 2006-11-30 16:34 | 尧尧      
继续加油,性能一般
  回复  引用    
#2楼 2006-11-30 17:09 | 垃圾猪[匿名] [未注册用户]
毛个性能,本来就涉及不到性能问题啊.
  回复  引用    
#3楼 2007-08-23 11:09 | 吕昆 [未注册用户]
呵呵,支持原创的东西!

加油!我也是.NET的爱好者!欢迎您也到我的博客做客!

http://www.10000o.com.cn
  回复  引用    
#4楼 2007-12-02 10:45 | 鞠东 [未注册用户]
谢谢了哥们,我使用人的这个呢挺好使的

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
历史上的今天: