帮看看有没有做过这个分页效果的

dd__dd 2010-07-13 10:06:53
http://www.cnblogs.com/cate/mvc/1
上面的连接是要的效果。

/// <summary>
/// 获取数字分页
/// </summary>
/// <param name="currentPageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="recordCount">数据条数</param>
/// <returns></returns>
private static string GetNumericPage_New(int currentPageIndex, int pageSize, int recordCount)
{
StringBuilder sb = new StringBuilder();
//在这里应该怎么写算法

return sb.ToString();//返回数字分页的html
}

之前试着写了下,思路有点乱,现在好像思维固定在一个地方跳不出来,希望大家帮个忙,我自己也再想想
...全文
323 35 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
WORLDNIC 2010-07-13
  • 打赏
  • 举报
回复
自己用DATALIST做一个,可以是POSTBACK,可以是JS的,可以横着放也可以数竖着放。
骑猪看海 2010-07-13
  • 打赏
  • 举报
回复
以上算法可参考,实现的就是那种效果
骑猪看海 2010-07-13
  • 打赏
  • 举报
回复

/* 调用时请先新增加一个用户控件,在上面拖一个标签.
* 用户控件的代码如下
* 调用方式为:
* 1.先设置本分页控件的记录总数,一般为所读取的全部记录的数量.如
* Pager1.Record = query.Records;
* 2.设置每页每版显示的记录条数.如
* Pager1.Items = 15;
* 3.设置每个大版面显示的页面数量.请设置 PageButtonCount的值,默认为:10
* 4.调用此方法: Pager1.ShowPage();
*/
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Pager : System.Web.UI.UserControl
{
#region 属性
private string PREV = "<span style=\" font-family:Webdings\" title=\"上一页\">7</span>";
private string NEXT = "<span style=\" font-family:Webdings\" title=\"下一页\">8</span>";
private string FIRST = "<span style=\" font-family:Webdings\" title=\"首页\">9</span>";
private string LAST = "<span style=\" font-family:Webdings\" title=\"末页\">:</span>";
private string SPACE = " ";
private int _pageButtonCount = 10;//每版显示10页
/// <summary>
/// 每版显示分页按钮数
/// </summary>
public int PageButtonCount
{
get { return _pageButtonCount; }
set { _pageButtonCount = value; }
}
private string _text;
/// <summary>
/// 分页控件文本的样式
/// </summary>
public string TextCss
{
get { return _text; }
set { _text = value; }
}
private string _css;
/// <summary>
/// 此处用来设置连接的样式
/// </summary>
public string Css
{
get { return _css; }
set { _css = value; }
}
private string _ci;
/// <summary>
/// 设置当前页的数字的样式
/// </summary>
public string currentIndexPageStyle
{
get { return _ci; }
set { _ci = value; }
}
private int _record;
/// <summary>
/// 设置或得到全部的记录数
/// </summary>
public int Record
{
set { _record = value; }
get { return _record; }
}
private int _items;
/// <summary>
/// 每页显示的记录数
/// </summary>
public int Items
{
get { return _items; }
set { _items = value; }
}
/// <summary>
/// 总共有几页
/// </summary>
private int PageTotal
{
get
{
return (int)((Record + Items-1) / Items);
}
}
#endregion

/// <summary>
/// 得到每一个连接的参数
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
private string getUrl(string index)
{
string Url = string.Empty;
for (int i = 0; i < Request.QueryString.Count; i++)
{
if (Request.QueryString.GetKey(i).ToLower() != "pageindex") {
Url = Url + "&" + Request.QueryString.GetKey(i).ToString() + "=" + Server.UrlEncode(Request.QueryString[i].ToString());
}
}
Url = Request.Path + "?pageindex=" + index + Url;
//string root = "http://" + this.Request.Url.Host;
//string pth = root + Request.Path + "?pageindex=" + index + Url;
//Url =root+this.Request.ApplicationPath+"/html.aspx?url=" +CB.Libraries.Share.Share.UrlEncode( pth,Page);
return Url;
}
/// <summary>
/// 得到分页按钮开始和结束的数字
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
private void getStartEnd(ref int start, ref int end)
{
start =curindex-PageButtonCount/2 + 1-PageButtonCount%2;
end = curindex + PageButtonCount / 2;
if (start < 1)
{
end = end - start + 1;
}
if (end > PageTotal)
{
start = start - end + PageTotal;
end = PageTotal;
}
if (start < 1)
{
start = 1;
}

}
/// <summary>
/// 当前页码
/// </summary>
private int curindex
{
get
{
if (Request.QueryString["pageindex"] == null || Convert.ToInt32(Request.QueryString["pageindex"]) < 1)
return 1;
else if (Convert.ToInt32(Request.QueryString["pageindex"]) > PageTotal)
return PageTotal;
else
return Convert.ToInt32(Request.QueryString["pageindex"]);

}
}
/// <summary>
/// 得到数字连接的数字,类似于 1 2 3 4 5 6 7 8
/// </summary>
/// <returns></returns>
private string getNumber()
{
string mid = string.Empty;
int start = 0;
int end = 0;
getStartEnd(ref start, ref end);
for (int i =start; i <= end; i++)
{
if (i == curindex)//curindex为当前的页面数,如果等于当前的页面数,则不给它设置超连接
mid = mid + "<span class='" + currentIndexPageStyle + "' >" + i.ToString() + "</span>" + SPACE;
else
mid = mid + "<a class='"+Css+"' href='" + getUrl(i.ToString()) + "'>" + i.ToString() + "</a>" + SPACE;
}
return mid;
}
/// <summary>
/// 分页的方法,要调用这个
/// </summary>
public void ShowPage()
{
if (Record == 0) { //当前无记录
LblNvbar.Text = "分页:" + FIRST + SPACE + PREV + SPACE+"当前无记录"+SPACE + NEXT + SPACE + LAST ;
}
else {
int start = 0;
int end = 0;
getStartEnd(ref start, ref end);
if (curindex == 1)
{ //在第一页
LblNvbar.Text = "分页:" + FIRST + SPACE + PREV + SPACE + getNumber() + "<a class='" + Css + "' href='" + getUrl((curindex + 1).ToString()) + "'>" + NEXT + "</a>" + SPACE + "<a class='" + Css + "' href='" + getUrl(PageTotal.ToString()) + "'>" + LAST + "</a>" + "第" + curindex.ToString() + "页共" + PageTotal.ToString() + "页.共" + Record.ToString() + "条记录";
}
else if (curindex == PageTotal)
{ //最后一页
LblNvbar.Text = "分页:" + "<a class='" + Css + "' href='" + getUrl("1") + "'>" + FIRST + "</a>" + SPACE + "<a class='" + Css + "' href='" + getUrl((curindex - 1).ToString()) + "'>" + PREV + "</a>" + SPACE + getNumber() + NEXT + SPACE + LAST + "第" + curindex.ToString() + "页共" + PageTotal.ToString() + "页.共" + Record.ToString() + "条记录";
}
else
{
LblNvbar.Text = "分页:" + "<a class='" + Css + "' href='" + getUrl("1") + "'>" + FIRST + "</a>" + SPACE + "<a class='" + Css + "' href='" + getUrl((curindex - 1).ToString()) + "'>" + PREV + "</a>" + SPACE + getNumber() + "<a class='" + Css + "' href='" + getUrl((curindex + 1).ToString()) + "'>" + NEXT + "</a>" + SPACE + "<a class='" + Css + "' href='" + getUrl(PageTotal.ToString()) + "'>" + LAST + "</a>" + "第" + curindex.ToString() + "页共" + PageTotal.ToString() + "页.共" + Record.ToString() + "条记录";
}

}
LblNvbar.CssClass = TextCss;
}

}


rysmissyou 2010-07-13
  • 打赏
  • 举报
回复
路过接分
zhulong1111 2010-07-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 dd__dd 的回复:]
http://www.cnblogs.com/cate/mvc/1
上面的连接是要的效果。

/// <summary>
/// 获取数字分页
/// </summary>
/// <param name="currentPageIndex">当前页</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name=……
[/Quote]如果这问题都还问,我不知道你那两颗星是怎么来的。对于一般的算法应该说是我们搞开发的强项
凤凰涅檠 2010-07-13
  • 打赏
  • 举报
回复
路过接分
mjfei 2010-07-13
  • 打赏
  • 举报
回复
顶,学习
yoursWTR 2010-07-13
  • 打赏
  • 举报
回复

html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="x-ua-compatible" content="ie=7" />
<title></title>
<style type="text/css">
* { padding: 0px; margin: 0px; }
html { font-size: 0.75em; }
div { width: 800px; margin: 20px auto 20px auto; }
.current { background-color: #2E6AB1; border: 1px solid navy; color: white; font-weight: bold; margin-right: 4px; padding: 2px 10px; }
div a { border: 1px solid #9AAFE5; color: #2E6AB1; margin-right: 4px; padding: 2px 5px; text-decoration: none; }
</style>
</head>
<body>
<div>
<span class="current">1</span> <a href="/cate/mvc/2">2</a> <a href="/cate/mvc/3">3</a>
<a href="/cate/mvc/4">4</a> <a href="/cate/mvc/5">5</a> <a href="/cate/mvc/6">6</a>
<a href="/cate/mvc/7">7</a> <a href="/cate/mvc/8">8</a> <a href="/cate/mvc/9">9</a>
<a href="/cate/mvc/10">10</a> <a href="/cate/mvc/11">11</a> ...<a href="/cate/mvc/12">12</a>
<a href="/cate/mvc/2">Next ></a>
</div>
<div>
<%=PM.PreviousUrl %>
<%=PM.FirstUrl %>
<%=PM.PageHtml %>
<%=PM.NextUrl %>
<%=PM.LastUrl %>
</div>
</body>
</html>



public GL.Tool.PageModel PM;
public int Index = 1;
protected void Page_Load(object sender, EventArgs e)
{
PM = new GL.Tool.PageModel(100, 9, 11, true, "cate/mvc/" + Index, "/", "first", "last", "<a href=\"{0}\">{1}</a>", "<span class=\"current\">{0}</span>", "");
GL.Tool.Pagination.FillPageModel(PM);
if (Index == 1)
{
PM.PreviousUrl = "";
PM.FirstUrl = "";
PM.NextUrl = "<a href=\"" + PM.NextUrl + "\">Next ></a>";
PM.LastUrl = "...<a href=\"cate/mvc/" + PM.PageCount + "\">" + PM.PageCount + "</a>";
}
else if (Index == PM.PageCount)
{
PM.PreviousUrl = "<a href=\"" + PM.PreviousUrl + "\">< Prev</a>";
PM.FirstUrl = "<a href=\"cate/mvc/1\">1</a>...";
PM.NextUrl = "";
PM.LastUrl = "";
}
else
{
PM.PreviousUrl = "<a href=\"" + PM.PreviousUrl + "\">< Prev</a>";
PM.FirstUrl = "<a href=\"cate/mvc/1\">1</a>...";
PM.NextUrl = "<a href=\"" + PM.NextUrl + "\">Next ></a>";
PM.LastUrl = "...<a href=\"cate/mvc/" + PM.PageCount + "\">" + PM.PageCount + "</a>";
}
}

稍微改下就和它的效果一样,这个分页我自己写的,在套用格式试的时候只写了我会用到的格式套用公式无法使用某些稀奇古怪的格式,如它那种在中间页的效果需要在FillPageModel里面改下
beyond_me21 2010-07-13
  • 打赏
  • 举报
回复
我写的一个

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class UserControls_PageCute : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{

}
/// <summary>
/// 自定义分页控件
/// </summary>
/// <param name="recordNum">总记录条数</param>
/// <param name="NumperPage">每页显示记录条数</param>
/// <param name="CurrentPage">当前页</param>
/// <param name="pp">最多显示页面链接个数</param>
public void SetPage(int recordNum,int NumperPage,int CurrentPage,int pp,string url,string url_end)
{
string panel_text;
int thepages,pi;

if (recordNum % NumperPage > 0)
{
thepages = recordNum / NumperPage + 1;
}
else
{
thepages = recordNum / NumperPage;
}
if (thepages == 0)
{
PageCute.Visible = false;
}
else
{

if ((CurrentPage > thepages) || (CurrentPage < 1))
{
CurrentPage = 1;
}
panel_text = "<ul>";
int ppp, pl, pr;
ppp = pp / 2;
if (ppp % 2 == 0)
{
ppp = ppp - 1;
}
pl = CurrentPage - ppp;
pr = pl + pp - 1;
if (pl < 1)
{
pr = pr - pl + 1;
pl = 1;
if (pr > thepages)
{
pr = thepages;
}
}
if (pr > thepages)
{
pl = pl + thepages - pr;
pr = thepages;
if (pl < 1)
{
pl = 1;
}
}

if (CurrentPage > 1)
{
panel_text += "<li><a href=\"" + url + (CurrentPage - 1).ToString() + url_end + "\">上一页</a></li>";

}
else
{
panel_text += "<li><span class=\"disable\">上一页</span></li>";
}
if (pl > 1)
{
panel_text += "<li><a href=\"" + url + "1" + url_end + "\" >1</a></li>";
if (pl > 2)
{
panel_text += "<li>...</li>";
}
}
for (pi = pl; pi <= pr; pi++)
{
if (CurrentPage==pi) {
panel_text += "<li><span class=\"current\">" + pi.ToString() + " </span></li>";
}else{
panel_text += "<li><a href=\"" + url + pi.ToString() + url_end + "\">" + pi.ToString() + "</a></li>";
}
}
if (pr < thepages )
{
if (pr<(thepages-1))
{
panel_text += "<li>...</li>";
}
panel_text += "<li><a href=\"" + url + (thepages).ToString() + url_end + "\">" + (thepages).ToString() + "</a></li>";
}
if (CurrentPage < thepages)
{
panel_text += "<li><a href=\"" + url + (CurrentPage + 1).ToString() + url_end + "\" >下一页</a></li>";
}
else
{
panel_text += "<li><span class=\"disable\">下一页</span></li>";
}
//PageCute.v
panel_text += "<li> 共" + thepages.ToString() + "页</li></ul>";
Page_Cute.Text = panel_text;
}
}
}


附上css代码

/*---------------------------------分页控件----------------------------------*/
.pagePanel{
position:relative;
background:#F7F7F7;
border:1px solid #EDEDED;
margin:15px 0px;
height:30px;
}
.pagePanel ul{
position:absolute;
top:7px;
right:7px;
margin:0px;
padding:0px;
}
.pagePanel li{
float:left;
margin-left:5px;
display:inline;
color:#999999;
}
.pagePanel li a, .pagePanel li span{
display:block;
line-height:16px;
padding:0 5px;
border:1px solid #A5A5A5;
color:#484848;
}
.pagePanel li a:hover, .pagePanel li span.current{
border:1px solid #FFA200;
background:#FFA200;
color:#FFF;
text-decoration:none;
}
.pagePanel li span.disable{
color:#A5A5A5;
}
/*---------------------------------分页控件----------------------------------*/
zzxap 2010-07-13
  • 打赏
  • 举报
回复
for 循环 innerhtml 一段

<a href="">1 </a>
<a href="">2 </a>
<a href="">3 </a>
<a href="">4 </a>

设置a {width:20px ;height:20px ;line-height:20px; text-align:center; margin:1px; float:left}
暖枫无敌 2010-07-13
  • 打赏
  • 举报
回复
路过,留下脚印...3楼的是个不错的方法,虽然现在用的是aspnetpager的分页控件
dd__dd 2010-07-13
  • 打赏
  • 举报
回复
aspnetpager我手里有,dll的,没反编译过,现在想自己写个,感觉应该没多大问题,写到后来发现思路有点乱。。。。。。。
penglin1989 2010-07-13
  • 打赏
  • 举报
回复
顶,,,
wuyq11 2010-07-13
  • 打赏
  • 举报
回复
看看aspnetpager分页控件
yoursWTR 2010-07-13
  • 打赏
  • 举报
回复
public GL.Tool.PageModel PM;

protected void Page_Load(object sender, EventArgs e)
{
PM = new GL.Tool.PageModel(Count, 10, 9, true, "index-" + intType + "-" + Index, "-", "first", "last", "<a href=\"{0}.html\">{1}</a>", "<span>{0}</span>", "");
Pagination.FillPageModel(PM);
PM.PreviousUrl = PM.PreviousUrl == "first" ? PM.LastUrl : PM.PreviousUrl + ".html";
PM.NextUrl = PM.NextUrl == "last" ? PM.FirstUrl : PM.NextUrl + ".html";
}


<a href="<%=PM.FirstUrl %>.html">首页</a> <a href="<%=PM.PreviousUrl %>">上一页</a>
<%=PM.PageHtml %>> <a href="<%=PM.NextUrl %>">下一页</a> <a href="<%=PM.LastUrl %>.html">
末页</a>

yoursWTR 2010-07-13
  • 打赏
  • 举报
回复

/// <summary>
/// 填充GL.Tool.PageModel。
/// </summary>
/// <param name="PM"></param>
public static void FillPageModel(PageModel PM)
{
PM.PageCount = PM.InfoCount % PM.ShowInfoCount == 0 ? PM.InfoCount / PM.ShowInfoCount : (PM.InfoCount - PM.InfoCount % PM.ShowInfoCount) / PM.ShowInfoCount + 1;
PM.Index = int.Parse(PM.Location.Remove(0, PM.Location.LastIndexOf(PM.PageQueryString) + PM.PageQueryString.Length));
PM.Url = PM.Location.Remove(PM.Location.LastIndexOf(PM.PageQueryString) + PM.PageQueryString.Length);
PM.FirstUrl = PM.Url + "1";
PM.LastUrl = PM.Url + PM.PageCount;
PM.PreviousUrl = PM.Index == 1 ? (PM.FristPreviousUrl == "" ? PM.LastUrl : PM.FristPreviousUrl) : (PM.Url + (PM.Index - 1));
PM.NextUrl = PM.Index == PM.PageCount ? (PM.LastNextUrl == "" ? PM.FirstUrl : PM.LastNextUrl) : (PM.Url + (PM.Index + 1));
string Url = null;
int c = (PM.ShowPageCount - PM.ShowPageCount % 2) / 2;
if (PM.PageCount < PM.ShowPageCount || PM.PageCount == PM.ShowPageCount)
for (int i = 1; i <= PM.PageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else if (PM.ShowPageCount % 2 != 0)
if (PM.Index < c + 2)
for (int i = 1; i <= PM.ShowPageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else if (PM.Index > PM.PageCount - c - 1)
for (int i = PM.PageCount - 2 * c; i <= PM.PageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else
for (int i = PM.Index - c; i <= PM.Index + c; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else
if (PM.Side == true)
if (PM.Index <= c)
for (int i = 1; i <= PM.ShowPageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else if (PM.Index > PM.PageCount - c - 1)
for (int i = PM.PageCount - PM.ShowPageCount + 1; i <= PM.PageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else
for (int i = PM.Index - c + 1; i <= PM.Index + c; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else
if (PM.Index < c + 2)
for (int i = 1; i <= PM.ShowPageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else if (PM.Index > PM.PageCount - c)
for (int i = PM.PageCount - 2 * c + 1; i <= PM.PageCount; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
else
for (int i = PM.Index - c; i < PM.Index + c; i++)
Url += (PM.Index == i ? i.ToString() : (PM.Url + i)) + "∴";
Url = Url.Remove(Url.Length - 1);
string[] strs = Url.Split('∴');
foreach (string str in strs)
PM.PageHtml += (str == PM.Index.ToString() ? string.Format(PM.OnFocusHtml, str) : string.Format(PM.UnFocusHtml, (str + "∴" + str.Remove(0, str.LastIndexOf(PM.PageQueryString) + PM.PageQueryString.Length)).Split('∴'))) + PM.SpacesHtml;
PM.PageHtml = PM.PageHtml.Remove(PM.PageHtml.LastIndexOf(PM.SpacesHtml));
}
yoursWTR 2010-07-13
  • 打赏
  • 举报
回复

/// <summary>
/// 目录分页实体。
/// </summary>
public class PageModel
{
private int _infocount;
private int _showinfocount;
private int _pagecount;
private int _showpagecount;
private int _index;
private bool _side;
private string _location;
private string _url;
private string _pagequerystring;
private string _fristpreviousurl;
private string _lastnexturl;
private string _unfocushtml;
private string _onfocushtml;
private string _spaceshtml;
private string _firsturl;
private string _lasturl;
private string _previousurl;
private string _nexturl;
private string _pagehtml;

/// <summary>
/// 构造函数(默认)。
/// </summary>
public PageModel()
{ }

/// <summary>
/// 构造函数(赋值)。
/// </summary>
/// <param name="infocount">信息总数。</param>
/// <param name="showinfocount">每页显示信息数。</param>
/// <param name="showpagecount">显示页数。</param>
/// <param name="side">显示页数为偶数时的偏移方式(true左,false右)。</param>
/// <param name="location">完整地址。</param>
/// <param name="pagequerystring">分页QueryString格式。</param>
/// <param name="fristpreviousurl">当期页为首页时上一页的Url。</param>
/// <param name="lastnexturl">当期页为末页时下一页的Url。</param>
/// <param name="unfocushtml">非当前页Html(不包含首页,上一页,下一页,末页)。</param>
/// <param name="onfocushtml">当前页Html。</param>
/// <param name="spaceshtml">页数间空隙Html。</param>
public PageModel(int infocount, int showinfocount, int showpagecount, bool side, string location, string pagequerystring, string fristpreviousurl, string lastnexturl, string unfocushtml, string onfocushtml, string spaceshtml)
{
this._infocount = infocount;
this._showinfocount = showinfocount;
this._showpagecount = showpagecount;
this._side = side;
this._location = location;
this._pagequerystring = pagequerystring;
this._fristpreviousurl = fristpreviousurl;
this._lastnexturl = lastnexturl;
this._unfocushtml = unfocushtml;
this._onfocushtml = onfocushtml;
this._spaceshtml = spaceshtml;


}

/// <summary>
/// 信息总数。
/// </summary>
public int InfoCount
{
set { _infocount = value; }
get { return _infocount; }
}
/// <summary>
/// 每页显示信息数。
/// </summary>
public int ShowInfoCount
{
set { _showinfocount = value; }
get { return _showinfocount; }
}
/// <summary>
/// 总页数。
/// </summary>
public int PageCount
{
set { _pagecount = value; }
get { return _pagecount; }
}
/// <summary>
/// 显示页数。
/// </summary>
public int ShowPageCount
{
set { _showpagecount = value; }
get { return _showpagecount; }
}
/// <summary>
/// 当前页。
/// </summary>
public int Index
{
set { _index = value; }
get { return _index; }
}
/// <summary>
/// 显示页数为偶数时的偏移方式(true左,false右)。
/// </summary>
public bool Side
{
set { _side = value; }
get { return _side; }
}
/// <summary>
/// 当前页完整地址。
/// </summary>
public string Location
{
set { _location = value; }
get { return _location; }
}
/// <summary>
/// 去地址页数QueryString地址。
/// </summary>
public string Url
{
set { _url = value; }
get { return _url; }
}
/// <summary>
/// 分页QueryString格式。
/// </summary>
public string PageQueryString
{
set { _pagequerystring = value; }
get { return _pagequerystring; }
}
/// <summary>
/// 当期页为首页时上一页的Url。
/// </summary>
public string FristPreviousUrl
{
set { _fristpreviousurl = value; }
get { return _fristpreviousurl; }
}
/// <summary>
/// 当期页为末页时下一页的Url。
/// </summary>
public string LastNextUrl
{
set { _lastnexturl = value; }
get { return _lastnexturl; }
}
/// <summary>
/// 非当前页Html(不包含首页,上一页,下一页,末页)。
/// </summary>
public string UnFocusHtml
{
set { _unfocushtml = value; }
get { return _unfocushtml; }
}
/// <summary>
/// 当前页Html。
/// </summary>
public string OnFocusHtml
{
set { _onfocushtml = value; }
get { return _onfocushtml; }
}
/// <summary>
/// 页数间空隙Html。
/// </summary>
public string SpacesHtml
{
set { _spaceshtml = value; }
get { return _spaceshtml; }
}
/// <summary>
/// 首页Url地址。
/// </summary>
public string FirstUrl
{
set { _firsturl = value; }
get { return _firsturl; }
}
/// <summary>
/// 末页Url地址。
/// </summary>
public string LastUrl
{
set { _lasturl = value; }
get { return _lasturl; }
}
/// <summary>
/// 上一页Url地址。
/// </summary>
public string PreviousUrl
{
set { _previousurl = value; }
get { return _previousurl; }
}
/// <summary>
/// 下一页Url地址。
/// </summary>
public string NextUrl
{
set { _nexturl = value; }
get { return _nexturl; }
}
/// <summary>
/// 分页Html。
/// </summary>
public string PageHtml
{
set { _pagehtml = value; }
get { return _pagehtml; }
}
}


yasire 2010-07-13
  • 打赏
  • 举报
回复
你可以参考下aspnetpager的源码。
我的想法是当前页小于10,就循环前十页。
当前页在后面10位内,就循环后面10页。
其他的就当前页前5+后5.
这样情况分开,就好办了。
z050301402 2010-07-13
  • 打赏
  • 举报
回复
弄不来 帮忙顶哈
royalli 2010-07-13
  • 打赏
  • 举报
回复
怎么写,也需要你sql语句调用呀!
加载更多回复(13)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧