pageHtml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Collections.Specialized;

namespace NewXzc.Common
{
public class companyPage
{
#region 分页样式(类似博客园分页)+pageHtml(int count, int val,int page,string FunctionName)
/// <summary>
/// 分页样式(类似博客园分页)+pageHtml(int count, int val,int page,string FunctionName)
/// </summary>
/// <param name="count">数据总数</param>
/// <param name="val">每页显示数量</param>
/// <param name="page">当前页码</param>
/// <returns></returns>
public static string pageHtml(int count, int val, int page)
{
string FunctionName = "GoPage";
int midNum = 8;//初始时显示到第几页
int MaxPage = 0;//最大的页数

if (count % val != 0)//页数
{
MaxPage = count / val + 1;
}
else
{
MaxPage = count / val;
}

if (page > MaxPage)
{
page = MaxPage;
}

StringBuilder pageHtml = new StringBuilder("");

/***********************************************************************
*分页中当前页码的前半部分显示情况
***********************************************************************/
if (count > 0)
{
pageHtml.Append("<div class='page_list clearfix'>");
//当前页等于1时和不等于1时
if (page == 1)
{
pageHtml.Append("<a class='unc'>首页</a>");
}
else
{
pageHtml.Append("<a class='unc' href='javascript:void(0);' onclick='" + FunctionName + "(1)'>首页</a>");
}


//当前页减去首页的值>=5
if (page - 1 >= 5 && MaxPage - page >= 5)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(1)'>1</a>");
pageHtml.Append("..");
for (int i = page - 3; i < page; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
}
else if (MaxPage - page < 5 && MaxPage >= (midNum + 2))
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(1)'>1</a>");
pageHtml.Append("..");
int leftBegin = page - (midNum - 1 - (MaxPage - page));
for (int i = leftBegin; i < page; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
}
else if (page - 1 < 5)
{
for (int i = 1; i < page; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
}

//当前页
pageHtml.Append("<a class='num current'>" + page + "</a>");

/***********************************************************************
*分页中当前页码的后半部分显示情况
***********************************************************************/

//当前页减去首页的值>=5
if (page - 1 >= 5 && MaxPage - page >= 5)
{
for (int i = page + 1; i <= page + 3; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}

pageHtml.Append("..");
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>" + MaxPage + "</a>");
}
else if (page - 1 < 5 && MaxPage >= (midNum + 2))
{
for (int i = page + 1; i <= midNum; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}

pageHtml.Append("..");
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>" + MaxPage + "</a>");
}
else if (MaxPage - page < 5)
{
for (int i = page + 1; i <= MaxPage; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
}

//当前页等于MaxPage时和不等于MaxPage时
if (page == MaxPage)
{
pageHtml.Append("<a class='unc'>尾页</a>");
}
else
{
pageHtml.Append("<a class='unc' href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>尾页</a>");
}

pageHtml.Append("<input type='text' onkeyup="this.value=this.value.replace(/\D/g,'')" id="pageNum" value="" + page + "">");
pageHtml.Append("<a class="unc go" href="javascript:void(0)" onclick="GoPage(document.getElementById('pageNum').value);">跳转</a><span id='Span2'>/" + MaxPage + "页</span>");
if (page > 1)
{
pageHtml.Append("<a class="pn unc prev" title="上一页" href="javascript:void(0)" onclick='" + FunctionName + "(" + (page - 1) + ")'>上一页</a>");
}
else
{
pageHtml.Append("<a class="pn unc prev" title="上一页" href="javascript:void(0)">上一页</a>");
}
if (page < MaxPage)
{
pageHtml.Append("<a class="pn unc next" title="下一页" href="javascript:void(0)" onclick='" + FunctionName + "(" + (page + 1) + ")'>下一页</a>");
}
else
{
pageHtml.Append("<a class="pn unc next" title="下一页" href="javascript:void(0)">下一页</a>");
}

pageHtml.Append("</div>");
}
return pageHtml.ToString();
}
#endregion
}

public class GenerPage
{
/// <summary>
/// 分页样式(类似博客园分页)+pageHtml(int count, int val,int page,string FunctionName)
/// </summary>
/// <param name="count">数据总数</param>
/// <param name="val">每页显示数量</param>
/// <param name="page">当前页码</param>
/// <returns></returns>
public static string pageHtml(int count, int val, int page)
{
string FunctionName = "GoPage";
int midNum = 5;//初始时显示到第几页
int MaxPage = 0;//最大的页数

if (count % val != 0)//页数
{
MaxPage = count / val + 1;
}
else
{
MaxPage = count / val;
}

if (page > MaxPage)
{
page = MaxPage;
}

StringBuilder pageHtml = new StringBuilder("");

/***********************************************************************
*分页中当前页码的前半部分显示情况
***********************************************************************/
if (count > 0)
{
pageHtml.Append("<div class="page_list clearfix">");
pageHtml.Append("<ul>");
//当前页等于1时和不等于1时
if (page == 1)
{
pageHtml.Append("<li><a>首页</a></li>");
}
else
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(1)'>首页</a></li>");
}


//当前页减去首页的值>=5
if (page - 1 >= 4 && MaxPage - page >= 4)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(1)'>1</a></li>");
pageHtml.Append("<li><a>...</a></li>");
for (int i = page - 1; i < page; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
}
else if (MaxPage - page < 4 && MaxPage >= (midNum + 2))
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(1)'>1</a></li>");
pageHtml.Append("<li><a>...</a></li>");
int leftBegin = page - (midNum - 1 - (MaxPage - page));
for (int i = leftBegin; i < page; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
}
else if (page - 1 <=3)
{
for (int i = 1; i < page; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
}

//当前页
pageHtml.Append("<li><a class="page_list_current">" + page + "</a></li>");

/***********************************************************************
*分页中当前页码的后半部分显示情况
***********************************************************************/

//当前页减去首页的值>=5
if (page - 1 >= 4 && MaxPage - page >= 4)
{
for (int i = page + 1; i <= page + 1; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}

pageHtml.Append("<li><a>...</a></li>");
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>" + MaxPage + "</a></li>");
}
else if (page - 1 < 4 && MaxPage >= (midNum + 2))
{
for (int i = page + 1; i <= midNum; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}

pageHtml.Append("<li><a>...</a></li>");
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>" + MaxPage + "</a></li>");
}
else if (MaxPage - page < 4)
{
for (int i = page + 1; i <= MaxPage; i++)
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
}

//当前页等于MaxPage时和不等于MaxPage时
if (page == MaxPage)
{
pageHtml.Append("<li><a>尾页</a></li>");
}
else
{
pageHtml.Append("<li><a href='javascript:void(0);' onclick='" + FunctionName + "(" + MaxPage + ")'>尾页</a></li>");
}

pageHtml.Append("</ul>");

pageHtml.Append("<p>跳至");
pageHtml.Append("<input class="page_jump" type="text" onkeyup="this.value=this.value.replace(/\D/g,'')" id="pageNum" value="" + page + "">");
pageHtml.Append("页<a href="javascript:void(0)" onclick="GoPage(document.getElementById('pageNum').value);">跳转</a></p>");

pageHtml.Append("</div>");
}
return pageHtml.ToString();


}
}



}

原文地址:https://www.cnblogs.com/wahaccp/p/3706456.html