当前位置: 移动技术网 > IT编程>开发语言>.net > 自定义分页,用户控件

自定义分页,用户控件

2019年05月14日  | 移动技术网IT编程  | 我要评论

纨绔姑爷,中国曲艺网,刘涛直播网络瘫痪

//前台
<script type="text/javascript">
function pagechange() {
var path = "<%=pathurl%>";
if (path != "" && path != null) {
location.href = path + "&currentpage=1" + "&pagesize=" + number($(".selectchange option:selected").val());
}
else {
location.href = "?currentpage=1" + "&pagesize=" + number($(".selectchange option:selected").val());
}
}

function turnpage(type) {
var currentpage = "<%=currentpage%>" == null ? 1 : number("<%=currentpage%>");
var maxpage = "<%=maxpage%>";
switch (type) {
case "f":
if (currentpage == 1) {
return;
}
else {
currentpage = 1;
}
break;
case "p":
if (currentpage <= 1) {
return;
}
else {
currentpage = currentpage - 1;
}
break;
case "n":
if (currentpage >= maxpage) {
return;
}
else {
currentpage = currentpage + 1;
}
break;
case "e":
if (currentpage == maxpage) return;
currentpage = maxpage;
break;
default:
break;
}
if (!isnan(currentpage) && currentpage > 0) {
var path = "<%=pathurl%>";
if (path != "" && path != null) {
location.href = path + "&currentpage=" + currentpage + "&pagesize=" + number($(".selectchange option:selected").val());
}
else {
location.href = "?currentpage=" + currentpage + "&pagesize=" + number($(".selectchange option:selected").val());
}
}
}
</script>
<style type="text/css">
.container {
height: 24px;
width: 98%;
}

.first {
float: left;
left: 0px;
font-size: 15px;
line-height: 24px;
}

.pagination {
width:400px;
margin: auto;
height: 24px;
}

.pagination li {
float: left;
margin-right: 5px;
border: #e2e2e2 1px solid;
}

.pagination > li > span {
position: relative;
float: left;
padding: 2px 12px;
margin-left: -1px;
color: #428bca;
text-decoration: none;
background-color: #fff;
border: 1px solid #ddd;
}

.selectchange {
line-height: 24px;
font-size: 15px;
}

.end {
border: 0px !important;
line-height: 24px;
}
</style>
<div class="container">
<span class="first">共<%=total %>条数据</span>
<ul id="pagerid" class="pagination">
<li>
<input type="button" onclick="turnpage('f')" id="homepage" runat="server" name="name" value="首页"></li>
<li>
<input type="button" onclick="turnpage('p')" id="onpage" runat="server" name="name" value="上页" /></li>
<li>
<span>页:<asp:label id="lbl_currentpage" runat="server">0</asp:label>/<asp:label id="lbl_maxpage" runat="server">0</asp:label></span>
</li>

<li>
<input type="button" onclick="turnpage('n')" id="nextpage" runat="server" name="name" value="下页" /></li>
<li>
<input type="button" onclick="turnpage('e')" id="backpage" runat="server" name="name" value="末页" /></li>
<li class="end">
<span class="end">每页显示:<asp:dropdownlist id="selectchange" class="selectchange" onchange="pagechange()" runat="server">
<asp:listitem value="10">10</asp:listitem>
<asp:listitem value="20">20</asp:listitem>
<asp:listitem value="30">30</asp:listitem>
</asp:dropdownlist></span></li>
</ul>
</div>

 

//后台
public partial class pageing : system.web.ui.usercontrol
{
/// <summary>
/// 当前页码
/// </summary>
public int currentpage;
/// <summary>
/// 每页显示数量
/// </summary>
public int pagesize;
/// <summary>
/// 共计多少页
/// </summary>
public int maxpage;
/// <summary>
/// 总数据数量
/// </summary>
public int total;

/// <summary>
/// 页面路径(备注:有外加查询条件时,则赋值,没有外加查询条件时显示为空)
/// </summary>
public string pathurl;

protected void page_load(object sender, eventargs e)
{
if (!ispostback)
{
#region 此处为前台分页四个按钮的控件样式(h-ui 框架按钮样式)
if (currentpage == 1)
{
this.homepage.attributes.add("class", "btn size-mini radius disabled");
this.onpage.attributes.add("class", "btn size-mini radius disabled");
}
else
{
this.homepage.attributes.add("class", "btn btn-primary size-mini radius");
this.onpage.attributes.add("class", "btn btn-primary size-mini radius");
}
if (currentpage == maxpage || maxpage == 0)
{
this.nextpage.attributes.add("class", "btn size-mini radius disabled");
this.backpage.attributes.add("class", "btn size-mini radius disabled");
}
else
{
this.nextpage.attributes.add("class", "btn btn-primary size-mini radius");
this.backpage.attributes.add("class", "btn btn-primary size-mini radius");
}
#endregion
}
}
/// <summary>
/// 分页方法
/// </summary>
/// <typeparam name="t">实体</typeparam>
/// <param name="list_model">分页数据源</param>
/// <param name="rpt_dateshow">分页绑定控件</param>
/// <param name="total">总记录数</param>
/// <param name="currentpagenext">当前页</param>
/// <param name="pagesize">每页显示数据</param>
/// <param name="url">界面传递参数</param>
public void o_pageing<t>(list<t> list_model, repeater rpt_dateshow, int _total, int _currentpage, int _pagesize, string _pathurl)
{
currentpage = _currentpage;
pathurl = _pathurl;
total = _total;
pagesize = _pagesize;

//int index = request.url.localpath.lastindexof('/');
//string path = request.url.localpath.substring(index);//获取当前界面路径

this.selectchange.selectedvalue = pagesize.tostring();
maxpage = convert.toint32(math.ceiling(convert.todouble(total) / convert.todouble(pagesize)));
lbl_currentpage.text = currentpage + "";
lbl_maxpage.text = maxpage + "";
rpt_dateshow.datasource = list_model;
rpt_dateshow.databind();
}
/// <summary>
/// 分页方法
/// </summary>
/// <param name="dt"></param>
/// <param name="rpt_dateshow"></param>
/// <param name="_total"></param>
/// <param name="_currentpage"></param>
/// <param name="pagesize"></param>
/// <param name="url"></param>
public void o_pageing(datatable dt, repeater rpt_dateshow, int _total, int _currentpage, int _pagesize, string _pathurl)
{
currentpage = _currentpage;
pathurl = _pathurl;
total = _total;
pagesize = _pagesize;

//int index = request.url.localpath.lastindexof('/');
//string path = request.url.localpath.substring(index);//获取当前界面路径

this.selectchange.selectedvalue = pagesize.tostring();
maxpage = convert.toint32(math.ceiling(convert.todouble(total) / convert.todouble(pagesize)));
lbl_currentpage.text = currentpage + "";
lbl_maxpage.text = maxpage + "";
rpt_dateshow.datasource = dt;
rpt_dateshow.databind();
}
}

 

//后端,仅供参考( crequest.getint为自定义封装类,用于获取传递参数)
public int currentpage = crequest.getint("currentpage", 1);//当前页码
public int pagesize = crequest.getint("pagesize", 10);//每页显示数量
public int total = 0;//分页总数据
protected void page_load(object sender, eventargs e)
{
if (!ispostback)
{
datapage();
}
}
public void datapage()
{
string pathurl = "modulelist.aspx?modulename=" + name;//此处为当前页面后台传递的参数
//list_modules 为数据源, rpt_modelshow 为前台绑定数据控件
this.pageing.o_pageing<modules>(list_modules, rpt_modelshow, total, currentpage, pagesize, pathurl);
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网