基于jquery的分页控件(C#)


Posted in Javascript onJanuary 06, 2011

JS代码:
Code:

var _MaxPageSize = 0; 
var _PageSize = 5; 
var _IsUpDown = false; 
function InitPage(funName, currentPageSize, maxPageSize, pageSize, isUpDown) { 
_FunName = funName; 
_CurrentPageSize = currentPageSize; 
_MaxPageSize = maxPageSize; 
_PageSize = pageSize; 
_IsUpDown = isUpDown; 
} 
function ShowPage(objDiv) { 
var strResult = ""; 
var size = Math.floor(_PageSize / 2); 
var maxSize = _CurrentPageSize + size > _MaxPageSize ? _MaxPageSize : _CurrentPageSize + size; 
var minSize = _CurrentPageSize - size < 1 ? 1 : _CurrentPageSize - size; 
if (maxSize == _MaxPageSize) 
minSize = maxSize - _PageSize + 1; 
if (minSize == 1) 
maxSize = minSize + _PageSize - 1; 
var str = ""; 
for (var i = 0; i < _MaxPageSize; i++) { 
var curPage = i + 1; 
if (curPage == 1 || (curPage >= minSize && curPage <= maxSize) || curPage == _MaxPageSize) { 
var strPage = ""; 
if (curPage == minSize && (_CurrentPageSize > _PageSize || minSize > 2)) 
strPage += "... "; 
if (_CurrentPageSize == curPage) { 
strPage += "   <a href='#' style='font-size:14px;color:red'>" + curPage + "</a>"; 
} 
else { 
strPage += "  <a href=\"#\" style='font-size:14px' onclick=\"" + _FunName + "(" + curPage + ");\">" + curPage + "</a>"; 
} 
if (curPage == maxSize && _MaxPageSize - _CurrentPageSize - 1 > size) { 
strPage += "... "; 
} 
strResult += strPage; 
} 
} 
strResult += ""; 
if (_IsUpDown) { 
if (_CurrentPageSize == 1) 
strResult = "<a href='#' >上一页</a>" + strResult; 
else 
strResult = "   <a href=\"#\" onclick=\"" + _FunName + "(" + (_CurrentPageSize - 1) + ");\">上一页</a>" + strResult; 
if (_CurrentPageSize == _MaxPageSize) { 
strResult = strResult + "  <a>下一页</a></ul>"; 
} 
else { 
strResult = strResult + "   <a href=\"#\" onclick=\"" + _FunName + "(" + (_CurrentPageSize + 1) + ");\">下一页</a>"; 
} 
} 
document.getElementById(objDiv).innerHTML =strResult; 
}

HTML Code:
<script src="js/PageViewJS.js" type="text/javascript"></script> 
<script language="javascript" type="text/javascript"> 
function GetCurPage(curPage) { 
//取当前页信息 
document.forms[0].action = "ChrisBlessingList.aspx?Page=" + curPage; 
document.forms[0].submit(); 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div style="width: 1002px; margin: 0 auto;"> 
<div id="hdgz"><img src="images/sdzt_07.jpg" border="0" usemap="#Map" /></div> 
<div id="liebiao"> 
<div class="a_01" id="Container"> 
<ul class="lb"> 
<asp:DataList ID="ddlBlessingList" runat="server" Width="100%"> 
<ItemTemplate> 
<li class="bg01"> 
<table width="700" border="0" cellspacing="0" cellpadding="0"> 
<tr> 
<td width="100" height="90" rowspan="2"> 
<img src="images/sdzt_02/img.jpg" class="lb_img" /> 
</td> 
<td width="600" align="left" valign="middle" class="font_07"> 
<%#Eval("User_Name")%> 
对 【 
<%#Eval("To_UserName")%>】说: 
</td> 
</tr> 
<tr> 
<td align="left" valign="top" class="font_07" style="word-break: break-all; width: 600px; 
overflow: auto;"> 
    <%#Eval("To_Context")%> 
</td> 
</tr> 
</table> 
</li> 
</ItemTemplate> 
</asp:DataList> 
</ul> 
</div> 
<div class="fy"> 
<div id="divPage"> 
</div> 
</div> 
</div> 
<div id="back_zhufu"> 
</div> 
</div> 
</div> 
<asp:Literal ID="ltScript" runat="server"></asp:Literal> 
</form> 
</body> 
</html>

C# Code:
private int _MaxPageSize = 1; 
protected void Page_Load(object sender, EventArgs e) 
{ 
int page = 1; 
if (Request.QueryString["Page"] != null && Request.QueryString["Page"].ToString() != "") 
{ 
page = Convert.ToInt32(Request.QueryString["Page"]); 
} 
int _PageSize = 5; 
BindChristData(page, _PageSize); 
ltScript.Text = "<script language=\"javascript\" type=\"text/javascript\">InitPage(\"GetCurPage\", " + page + ", " + _MaxPageSize + ", 8, true); ShowPage(\"divPage\");</script>"; 
} 
private void BindChristData(int pageIndex, int pageSize) 
{ 
int intStartIndex = (pageIndex - 1) * pageSize + 1; 
int intEndIndex = pageIndex * pageSize; 
DataSet tChrisTable = TChristmaxWishBLL.GetTChristmaxWish(intStartIndex, intEndIndex); 
if (tChrisTable != null && tChrisTable.Tables[0].Rows.Count > 0) 
{ 
ddlBlessingList.DataSource = tChrisTable; 
ddlBlessingList.DataBind(); 
_MaxPageSize = Convert.ToInt32(tChrisTable.Tables[1].Rows[0][0].ToString()) % pageSize == 0 ? Convert.ToInt32(tChrisTable.Tables[1].Rows[0][0].ToString()) / pageSize : Convert.ToInt32(tChrisTable.Tables[1].Rows[0][0].ToString()) / pageSize + 1; 
} 
} 
Sql语句: 
select row_num,User_Name,User_Email,User_Phone,To_UserName,To_Context from(SELECT ROW_NUMBER() OVER ( ORDER BY To_Date desc)as row_num,User_Name,User_Email,User_Phone,To_UserName,To_Context from TChristmaxWish where Is_Del=0 )as newTable where row_num between @intStrIndex and @intEndIndex; 
select count(id) from TChristmaxWish where Is_Del=0
Javascript 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
一个无限级XML绑定跨框架菜单(For IE)
Jan 27 Javascript
用javascript实现分割提取页面所需内容
May 09 Javascript
JQuery困惑—包装集 DOM节点
Oct 16 Javascript
javascript 事件查询综合 推荐收藏
Mar 10 Javascript
JavaScript 对象模型 执行模型
Oct 15 Javascript
js中回调函数的学习笔记
Jul 31 Javascript
js密码强度实时检测代码
Mar 02 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
Apr 03 Javascript
JavaScript实现简单的拖动效果
Jul 02 Javascript
基于mpvue的小程序项目搭建的步骤
May 22 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
Oct 29 Javascript
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
Jan 06 #Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 #Javascript
基于jQuery的试卷自动排版系统实现代码
Jan 06 #Javascript
ASP中Sub和Function的区别说明
Aug 30 #Javascript
TBCompressor js代码压缩
Jan 05 #Javascript
关于Mozilla浏览器不支持innerText的解决办法
Jan 01 #Javascript
Js event事件在IE、FF兼容性问题
Jan 01 #Javascript
You might like
php程序之die调试法 快速解决错误
2009/09/17 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP编写简单的App接口
2016/08/28 PHP
php实现登陆模块功能示例
2016/10/20 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
PHP实现微信退款功能
2018/10/02 PHP
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
Javascript操作cookie的函数代码
2012/10/03 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
英文求职信范文
2014/05/23 职场文书
海洋科学专业求职信
2014/08/10 职场文书
2014年工程师工作总结
2014/11/25 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
Vue实现动态查询规则生成组件
2021/05/27 Vue.js
Nginx内网单机反向代理的实现
2021/11/07 Servers