C#内容分页简单实现代码及祥解
生活随笔
收集整理的這篇文章主要介紹了
C#内容分页简单实现代码及祥解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//定義變量
int i,start,stop,t,stat,statt,pp,pagecount,pagesize;
//變量初始值
stat=0;
statt=0;
start=0;//開始查詢的字符串位置,初始為0
stop=0;
pagesize=2000;//定義每頁至少顯示字符串數
pagecount=0;
//獲得當前的頁數
pa=Request.Params["page"];
if(pa=="" || pa==null)
pa="1";
pp=Convert.ToInt32(pa);
//獲得內容
articletxt=rs["contenttxt"].ToString();
//判斷頁面的內容長度是否大于定義的每頁至少顯示字符串數
if(articletxt.Length>=pagesize)//如果大于字符串數,則我們可以分頁顯示
{
t=articletxt.Length/pagesize;//獲得大致的總頁數
//根據目前獲得的頁數循環
for(i=0;i<t;i++)
{
//如果查詢開始位置到查詢的范圍超出整個內容的長度,那么就不用尋找斷點(分頁點);反之,查找
if(start+pagesize<articletxt.Length)
{
stat=articletxt.IndexOf("</P>",start+pagesize);//查找</P>分頁點的位置
if(stat<=0)//如果找不到
stat=articletxt.IndexOf("</p>",start+pagesize);//查找</p>分頁點的位置;這里您可以自己設置分頁點的判斷
}
if(stat<=0)//如果找不到分頁點,說明不能分頁,也就不需要做其他的勞動了;否則,就進行分頁
articletext=articletxt;//將結果付給要導出的變量
else
{
stop=stat;//分頁點的位置也就作為這一頁的終點位置
if(start+pagesize>=articletxt.Length)//如果起始位置到查詢的范圍超出整個內容的長度,那么這一頁的終點位置為內容的終點
stop=articletxt.Length;
if(pp==i+1)//如果是當前,那么輸出當前頁的內容
articletext=articletxt.Substring(start,stop-start);//取內容的起始位置到終點位置這段字符串輸出
start=stat;//將終點位置作為下一頁的起始位置
pagecount++;//獲得實際頁總數
}
}
}
分頁部分(這里就簡單多了)
string html;//定義分頁代碼變量
if(pagecount>1)//當頁數大于1的時候我們顯示頁數
{
for(i=1;i<=pagecount;i++)
{
if(i==pp)//如果是當前頁,加粗顯示
html+="<b>["+i+"]</b> ";
else
html+="<a href=?id="+articleid+"&page="+i+">["+i+"]</a> ";
}
if(pp+1>pagecount)//顯示下一頁,方便瀏覽
html+="<a href=?id="+articleid+"&page="+(pagecount)+">[下一頁]</a></p>";
else
html+="<a href=?id="+articleid+"&page="+(pp+1)+">[下一頁]</a></p>";
}?
?
int i,start,stop,t,stat,statt,pp,pagecount,pagesize;
//變量初始值
stat=0;
statt=0;
start=0;//開始查詢的字符串位置,初始為0
stop=0;
pagesize=2000;//定義每頁至少顯示字符串數
pagecount=0;
//獲得當前的頁數
pa=Request.Params["page"];
if(pa=="" || pa==null)
pa="1";
pp=Convert.ToInt32(pa);
//獲得內容
articletxt=rs["contenttxt"].ToString();
//判斷頁面的內容長度是否大于定義的每頁至少顯示字符串數
if(articletxt.Length>=pagesize)//如果大于字符串數,則我們可以分頁顯示
{
t=articletxt.Length/pagesize;//獲得大致的總頁數
//根據目前獲得的頁數循環
for(i=0;i<t;i++)
{
//如果查詢開始位置到查詢的范圍超出整個內容的長度,那么就不用尋找斷點(分頁點);反之,查找
if(start+pagesize<articletxt.Length)
{
stat=articletxt.IndexOf("</P>",start+pagesize);//查找</P>分頁點的位置
if(stat<=0)//如果找不到
stat=articletxt.IndexOf("</p>",start+pagesize);//查找</p>分頁點的位置;這里您可以自己設置分頁點的判斷
}
if(stat<=0)//如果找不到分頁點,說明不能分頁,也就不需要做其他的勞動了;否則,就進行分頁
articletext=articletxt;//將結果付給要導出的變量
else
{
stop=stat;//分頁點的位置也就作為這一頁的終點位置
if(start+pagesize>=articletxt.Length)//如果起始位置到查詢的范圍超出整個內容的長度,那么這一頁的終點位置為內容的終點
stop=articletxt.Length;
if(pp==i+1)//如果是當前,那么輸出當前頁的內容
articletext=articletxt.Substring(start,stop-start);//取內容的起始位置到終點位置這段字符串輸出
start=stat;//將終點位置作為下一頁的起始位置
pagecount++;//獲得實際頁總數
}
}
}
分頁部分(這里就簡單多了)
string html;//定義分頁代碼變量
if(pagecount>1)//當頁數大于1的時候我們顯示頁數
{
for(i=1;i<=pagecount;i++)
{
if(i==pp)//如果是當前頁,加粗顯示
html+="<b>["+i+"]</b> ";
else
html+="<a href=?id="+articleid+"&page="+i+">["+i+"]</a> ";
}
if(pp+1>pagecount)//顯示下一頁,方便瀏覽
html+="<a href=?id="+articleid+"&page="+(pagecount)+">[下一頁]</a></p>";
else
html+="<a href=?id="+articleid+"&page="+(pp+1)+">[下一頁]</a></p>";
}?
?
總結
以上是生活随笔為你收集整理的C#内容分页简单实现代码及祥解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: giligili爱是什么歌啊
- 下一篇: EMAIL发送系统(C#+基于SMTP认