內容分頁簡單實現代碼及祥解(C#)

來源:互聯網
上載者:User
分頁 網上已經有用asp對文章內容分頁顯示的代碼,我也沒有用時間詳細研究。今天發布了幾篇超長的文章,為了方便網民的瀏覽,才定下心來寫了下面的代碼。因為我們的程式是C#.net編寫的,關於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>";
}

大家可以加入上面的代碼試一下!有什麼問題請到網人論壇發貼,地址:http://bbs.wrclub.net


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。