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);' οnclick='" + FunctionName + "(1)'>首页</a>");
}
//当前页减去首页的值>=5
if (page - 1 >= 5 && MaxPage - page >= 5)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' οnclick='" + FunctionName + "(1)'>1</a>");
pageHtml.Append("..");
for (int i = page - 3; i < page; i++)
{
pageHtml.Append("<a class='num' href='javascript:void(0);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
}
else if (MaxPage - page < 5 && MaxPage >= (midNum + 2))
{
pageHtml.Append("<a class='num' href='javascript:void(0);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
pageHtml.Append("..");
pageHtml.Append("<a class='num' href='javascript:void(0);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a>");
}
pageHtml.Append("..");
pageHtml.Append("<a class='num' href='javascript:void(0);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + MaxPage + ")'>尾页</a>");
}
pageHtml.Append("<input type='text' οnkeyup=\"this.value=this.value.replace(/\\D/g,'')\" id=\"pageNum\" value=\"" + page + "\">");
pageHtml.Append("<a class=\"unc go\" href=\"javascript:void(0)\" οnclick=\"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)\" οnclick='" + 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)\" οnclick='" + 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);' οnclick='" + FunctionName + "(1)'>首页</a></li>");
}
//当前页减去首页的值>=5
if (page - 1 >= 4 && MaxPage - page >= 4)
{
pageHtml.Append("<li><a href='javascript:void(0);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
}
else if (MaxPage - page < 4 && MaxPage >= (midNum + 2))
{
pageHtml.Append("<li><a href='javascript:void(0);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
pageHtml.Append("<li><a>...</a></li>");
pageHtml.Append("<li><a href='javascript:void(0);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + i + ")'>" + i + "</a></li>");
}
pageHtml.Append("<li><a>...</a></li>");
pageHtml.Append("<li><a href='javascript:void(0);' οnclick='" + 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);' οnclick='" + 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);' οnclick='" + FunctionName + "(" + MaxPage + ")'>尾页</a></li>");
}
pageHtml.Append("</ul>");
pageHtml.Append("<p>跳至");
pageHtml.Append("<input class=\"page_jump\" type=\"text\" οnkeyup=\"this.value=this.value.replace(/\\D/g,'')\" id=\"pageNum\" value=\"" + page + "\">");
pageHtml.Append("页<a href=\"javascript:void(0)\" οnclick=\"GoPage(document.getElementById('pageNum').value);\">跳转</a></p>");
pageHtml.Append("</div>");
}
return pageHtml.ToString();
}
}
}