比如 当前是 0页比如
总共5页
0 [1] [2] [3] [4] 当前是 第 1 页 就是 [0] 1 [2] [3] [4]
但是如果只有 2 页 就显示 [0] 1
用 public string page(string pageindex,string pagecount) 来设计, 里面的变化挺多的, 请问怎样设计这个 方法呢??谢谢
总共5页
0 [1] [2] [3] [4] 当前是 第 1 页 就是 [0] 1 [2] [3] [4]
但是如果只有 2 页 就显示 [0] 1
用 public string page(string pageindex,string pagecount) 来设计, 里面的变化挺多的, 请问怎样设计这个 方法呢??谢谢
解决方案 »
- 倾家荡产求解!!各位高人,有在win server2003 中asp.net 用cmd 调用flashpaper 转换文件成功的吗?
- 做web项目不许用脚本?(郁闷了散分)
- 在ASP.NET中怎么获取用户登陆的次数(使用COOKIE)?
- 如何在asp.net中使用setInterval()函数
- 请教:动态添加控件的 DataBind
- 服务器如何处理才能在另一框架页中打开制定网页?
- 一个关于VS。NET2005的问题~~~~~~~一起学习学习~~~
- asp.net编写的网页,用来做单据输入的页面。如何记录访问机器的IP地址?
- 为什么我的freetextbox一直闪烁
- easyui datagrid中一部分显示一个数据库中的数据,一部分显示一个视图中的数据?
- 一个路径读取的问题,请大家帮帮忙
- [ReportingService] ReportExecution2005 LogonUser 登陆失败
{
StringBuilder strsb=new StringBuilder(); //最终显示在div里的HTML字符
int PageCount = 0; //总页数 int minPage = 0; //显示的最小页
int maxPage = 0; //显示的最大页
PageCount = Convert.ToInt32(Count % PageSize == 0 ? Math.Floor(Count / PageSize) : Math.Floor(Count / PageSize) + 1);
//VS2005里用 PageCount = Convert.ToInt32(Count % PageSize == 0 ? System.Math.Floor(Convert.ToDecimal(Count / PageSize)) : Math.Floor(Convert.ToDecimal(Count / PageSize)) + 1);
if (PageCount == 0)
PageCount = 1; //如果记录条数为0,也显示一页 if (PageNum < 1)
PageNum = 1;
else if (PageNum > PageCount)
PageNum = PageCount;
#region 生成最大、最小页码 //最小页码 if (PageNum <= num+1)
{
minPage = 1;
}
else
{
minPage = PageNum - num;
}
//最大页码 if (PageNum + num > PageCount - 1)
{
maxPage = PageCount;
}
else
{
maxPage = PageNum + num;
}
#endregion
#region JS函数
strsb.Append(" ");//防止数据为空
strsb.Append("<script language=\"javascript\">");
strsb.Append("function GoPage()");
strsb.Append("{var obj = document.getElementById('go_url');");
//strsb.Append("var url=\""+PageUrl.Substring(0,PageUrl.LastIndexOf('=')+1)+"\"");
strsb.Append("var url=\""+PageUrl.Substring(0,PageUrl.LastIndexOf('*')));
strsb.Append("\"+obj.value+\"");
strsb.Append(PageUrl.Substring(PageUrl.LastIndexOf('*')+1));
strsb.Append("\";window.location.href=url");
strsb.Append(";}");
strsb.Append("</script>");
#endregion
#region 首页、上一页 strsb.Append("<a href=\"" + GetNewPageUrl(PageUrl, 1) + "\">");
strsb.Append("<img src=\"images/bt_first.gif\" alt=\"首页\" border=\"0\" align=\"absmiddle\"/>");
strsb.Append("</a>");
if (PageNum > 1)
{
strsb.Append("<a href=\"" + GetNewPageUrl(PageUrl, PageNum - 1) + "\">");
strsb.Append("<img src=\"images/bt_pre.gif\" alt=\"上一页\" border=\"0\" align=\"absmiddle\" class=\"marg_left6\"/>");
strsb.Append("</a>");
}
#endregion
#region 中间页码
for (int i = minPage; i <= maxPage; i++)
{
if (i == PageNum)
{
strsb.Append("<span class=\"marq_left8\">" + PageNum.ToString() + "</span>");
}
else
{
strsb.Append("<a href=\"" + GetNewPageUrl(PageUrl, i) + "\"class=\"l_333_12_u marq_left8\">" + i.ToString() + "</a>");
}
}
#endregion
#region 下一页、尾页 if (PageNum < PageCount)
{
strsb.Append("<a href=\"" + GetNewPageUrl(PageUrl, PageNum + 1) + "\">");
strsb.Append("<img src=\"images/bt_next.gif\" alt=\"下页\" border=\"0\" align=\"absmiddle\" class=\"marg_left6\"/>");
strsb.Append("</a>");
}
strsb.Append("<a href=\"" + GetNewPageUrl(PageUrl, PageCount) + "\">");
strsb.Append(
"<img src=\"images/bt_last.gif\" alt=\"最后一页\" align=\"absmiddle\" border=\"0\" class=\"marg_left6 marq_right12\" /></a>");
#endregion
#region 跳转
strsb.Append("转到 <select name=\"go_url\" id=\"go_url\">");
for (int i = 1; i <= PageCount; i++)
{
if(i==PageNum)
{
strsb.Append("<option value = \"" + i.ToString() + "\" selected=\"selected\">" + i.ToString() + "</option>");
}
else
{
strsb.Append("<option value = \"" + i.ToString() + "\">" + i.ToString() + "</option>");
}
}
strsb.Append("</select> 页");
strsb.Append("<img src=\"images/bt_go.gif\" style=\"cursor:hand\" onclick=\"GoPage()\" alt=\"go\" width=\"50\" height=\"19\" border=\"0\" align=\"absmiddle\" class=\"marq_left12\" />");
strsb.Append("");
#endregion
return strsb;
}
在前台用公共变量 <%=strHTML %>public string strHTML="";
public string page(string pageindex,string pagecount)
{
try{
if(Convert.ToInt32(pagecount)>0)
{
for(int i=0;i<Convert.ToInt32(pagecount);i++)
{
if(Convert.ToInt32(pageindex)==i)
strHTML+="<asp:linkbutton id=\"lbt1\" runat=\"server\" Text=\"" +i.tostring()+ "\" />";
else
strHTML+="<asp:linkbutton id=\"lbt1\" runat=\"server\" Text=\"[" +i.tostring()+ "]\" />";
}
}
}
catch
{}
}代码直接写的,就是这个意思
if(Total%Cardinal>Cardinal/2)//翻页
{
if(pageindex-5<0)
{
//应显示0 到 Cardinal页
}
else
{
//应显示pageindex-Cardinal/2 到 pageindex+(Cardinal/2)
}
}
else
{ //不翻页 }