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

参数含义:
string urlFormat: 要传给服务器端的URL地址格式,方便在点超链接时进行相应的跳转
long totalSize: 总的数据条数。
long pageSize: 每页多少条数据
long currentPage: 当前的页数
后面通过具体的一个案例来用这个分页方法:
一.分页方法:
/// <summary>
/// 生成页码的html
/// </summary>
/// <param name="urlFormat">超链接的格式。list.ashx?pagenum={pageNum}。地址中用{pagenum}做为当前页码的占位符</param></param>
/// <param name="totalSize">总数据条数</param>
/// <param name="pageSize">每页多少条数据</param>
/// <param name="currentPage">当前页</param>
/// <returns></returns>
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("<div><a href='" + urlFormat.Replace("{pageNum}", "1") + "'>首页</a>");
//绘制分页中间数据部分
for (long i = firstPage; i < lastPage; i++)
{
string url = urlFormat.Replace("{pageNum}", i.ToString());
if (i == currentPage) //点击后就不显示超链接
{
sb.AppendLine("<a>" + i + "</a>");
}
else
{
sb.AppendLine("<a href='" + url + "'>" + i + "</a>");
}
}
//显示最后一页
sb.AppendLine("<a href='" + urlFormat.Replace("{pageNum}", totalPageCount.ToString()) + "'>末页</a></div>");
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):
<body>
<ul>
@{
foreach (int i in Model.nums)
{
<li>@i</li>
}
}
</ul>
@Pager("test.ashx?pn={pageNum}", 1020, 50, Model.page);
</body>
效果图:
三.jQuery分页插件:
前面写的这些主要是进行功能的实现,样式效果差了点。下面贴上通过jQuery实现的分页效果
jQuery的效果图,及调用方法:
完整代码:
<!DOCTYPE html>
<html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>一个非常简单的jQuery分页插件</title>
<style>
*{ margin:0; padding:0; list-style:none;}
a{ text-decoration:none;}
a:hover{ text-decoration:none;}
.tcdPageCode{padding: 15px 20px;text-align: left;color: #ccc;}
.tcdPageCode a{display: inline-block;color: #428bca;display: inline-block;height: 25px; line-height: 25px; padding: 0 10px;border: 1px solid #ddd; margin: 0 2px;border-radius: 4px;vertical-align: middle;}
.tcdPageCode a:hover{text-decoration: none;border: 1px solid #428bca;}
.tcdPageCode span.current{display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px;color: #fff;background-color: #428bca; border: 1px solid #428bca;border-radius: 4px;vertical-align: middle;}
.tcdPageCode span.disabled{ display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px; color: #bfbfbf;background: #f2f2f2;border: 1px solid #bfbfbf;border-radius: 4px;vertical-align: middle;}
</style>
</head>
<body>
<!-- 代码部分begin -->
<div class="tcdPageCode">
</div>
<pre>
调用方法:
$(".tcdPageCode").createPage({
pageCount:20,
current:1,
backFn:function(p){
//单击回调方法,p是当前页码
}
});
pageCount:总页数
current:当前页
</pre>
</body>
<script src="/ajaxjs/jquery.min.js"></script>
<script src="/ajaxjs/jquery.page.js"></script>
<script>
$(".tcdPageCode").createPage({
pageCount:20,
current:5,
backFn:function(p){
console.log(p);
}
});
</script>
<!-- 代码部分end -->
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# C#
# 分页组件
# 分页
# C# DataTable分页处理实例代码
# C#构建分页应用的方法分析
# 适用于WebForm Mvc的Pager分页组件C#实现
# C#基于数据库存储过程的AJAX分页实例
# c#分页读取GB文本文件实例
# c#分页显示服务器上指定目录下的所有图片示例
# C#拼接SQL语句 用ROW_NUMBER实现的高效分页排序
# 基于jquery的分页控件(C#)
# C#中常用的分页存储过程小结
# 的是
# 当前页
# 超链接
# 每页
# 首页
# 条数
# 都有
# 就不
# 跳转
# 末页
# 贴上
# 一个小小
# 回调
# 差了
# 单击
# 大家多多
# 来用
# 主要是
# 后端
相关文章:
潮流网站制作头像软件下载,适合母子的网名有哪些?
手机网站制作与建设方案,手机网站如何建设?
建站为何优先选择香港服务器?
如何用免费手机建站系统零基础打造专业网站?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
建站主机解析:虚拟主机配置与服务器选择指南
如何用腾讯建站主机快速创建免费网站?
设计网站制作公司有哪些,制作网页教程?
如何快速上传自定义模板至建站之星?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站之星多图banner生成与模板自定义指南
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
焦点电影公司作品,电影焦点结局是什么?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
北京网站制作网页,网站升级改版需要多久?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
制作网站公司那家好,网络公司是做什么的?
如何快速搭建高效可靠的建站解决方案?
如何用已有域名快速搭建网站?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
微信h5制作网站有哪些,免费微信H5页面制作工具?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
如何快速生成专业多端适配建站电话?
如何用PHP快速搭建高效网站?分步指南
建站之星如何实现网站加密操作?
如何快速登录WAP自助建站平台?
黑客如何通过漏洞一步步攻陷网站服务器?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
已有域名能否直接搭建网站?
如何注册花生壳免费域名并搭建个人网站?
如何在云主机快速搭建网站站点?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
,在苏州找工作,上哪个网站比较好?
如何挑选优质建站一级代理提升网站排名?
如何在阿里云ECS服务器部署织梦CMS网站?
如何在服务器上三步完成建站并提升流量?
如何在阿里云虚拟主机上快速搭建个人网站?
如何在阿里云域名上完成建站全流程?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。