C#如何实现分页组件

这篇文章将为大家详细讲解有关C#如何实现分页组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的永吉网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

分页无论是前端和后端,基本都有广泛应用!下面通过一个小小案例完成这个分页效果:

参数含义:

string urlFormat: 要传给服务器端的URL地址格式,方便在点超链接时进行相应的跳转

long totalSize:     总的数据条数。

long pageSize:    每页多少条数据

 long currentPage: 当前的页数

后面通过具体的一个案例来用这个分页方法:

一.分页方法:

/// 
  /// 生成页码的html
  /// 
  /// 超链接的格式。list.ashx?pagenum={pageNum}。地址中用{pagenum}做为当前页码的占位符
  /// 总数据条数
  /// 每页多少条数据
  /// 当前页
  /// 
  public static RawString Pager(string urlFormat, long totalSize,
   long pageSize, long currentPage)
  {
   StringBuilder sb = new StringBuilder();
   //总页数
   long totalPageCount = (long)Math.Ceiling((totalSize * 1.0f) / (pageSize * 1.0f));
   //当前页的前几页
   long firstPage = Math.Max(currentPage - 5, 1);
   //当前页的后几页
   long lastPage = Math.Min(currentPage + 6, totalPageCount);
   //绘制分页,首页
   sb.AppendLine("
首页");    //绘制分页中间数据部分    for (long i = firstPage; i < lastPage; i++)    {     string url = urlFormat.Replace("{pageNum}", i.ToString());     if (i == currentPage) //点击后就不显示超链接     {      sb.AppendLine("" + i + "");     }     else     {      sb.AppendLine("" + i + "");     }    }    //显示最后一页    sb.AppendLine("末页
");    return new RawString(sb.ToString());   }

二.案例调用:

服务器端(test.ashx):这里为了方便看到效果,展示数据直接用的固定数据

public void ProcessRequest(HttpContext context)
  {
   context.Response.ContentType = "text/html";
   long pn = Convert.ToInt64(context.Request["pn"]);
   if (pn == 0) //Convert.ToInt64(null)返回的是0
   {
    pn = 1;
   }
   long[] num = new long[50]; //这里的数据用的是固定数据
   for (int i = 0; i < 50; i++)
   {
    num[i] = ((pn-1) * 50) + i;
   }
   OutputRazor(context, "~/test.cshtml", new { nums=num,page=pn}); //这里用的Razor模板引擎
  }

这里的Razor方法见:Razor模板引擎简单介绍

UI端展示(test.cshtml):

 
  
        @{   foreach (int i in Model.nums)   {    
  • @i
  •   }   }    
  @Pager("test.ashx?pn={pageNum}", 1020, 50, Model.page); 

效果图:

C#如何实现分页组件

三.jQuery分页插件:

前面写的这些主要是进行功能的实现,样式效果差了点。下面贴上通过jQuery实现的分页效果

jQuery的效果图,及调用方法:

C#如何实现分页组件

 完整代码:





一个非常简单的jQuery分页插件




 
 
 
 调用方法:
 $(".tcdPageCode").createPage({
  pageCount:20,
  current:1,
  backFn:function(p){
   //单击回调方法,p是当前页码
  }
 });
 pageCount:总页数
 current:当前页
 

C#是什么

C#是一个简单、通用、面向对象的编程语言,它由微软Microsoft开发,继承了C和C++强大功能,并且去掉了一些它们的复杂特性,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程从而成为.NET开发的首选语言,但它不适用于编写时间急迫或性能非常高的代码,因为C#缺乏性能极高的应用程序所需要的关键功能。

关于“C#如何实现分页组件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


新闻名称:C#如何实现分页组件
网页地址:http://myzitong.com/article/pddceg.html

其他资讯