当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net 长文章通过设定的行数分页

ASP.NET
Check if a File is in Internet Explorers Cache
如何检测电脑是否安装了.net framework
[Regex]Greta不支持“Named Groups”特性
使用子類化的方法來實現VB對特殊消息的響應
C#软件启动设计
C#中虛函數,抽象,接口的簡單説明
TreeView的操作
InteliIM 3.0 will be released soon!
如何將 Visual Basic 與 ADO 搭配使用
建立永遠停留在最上層的窗口(VB)
C#中比较两个值型一维数组变量是否值相等
谈谈软件工程设计的艺术
批量添加Active Directory帐号
文件搜索的实现(深度搜索)
一个图形分割问题[答网友]
XML反串行化Namespace不统一而引起的错误
使用Javascript创建XML文件
突破MsComm控件RThreshold限制,全部数据统统收!
如何制作一个带启动屏幕的窗体
【翻译】Managed DirectX(第五章)

ASP.NET 中的 asp.net 长文章通过设定的行数分页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 104 ::
收藏到网摘: n/a

长文章通过设定的行数来实现分页的代码。
复制代码 代码如下:

public string OutputByLine(string strContent)//通过设定的行数分页
{
int pageSize = int.Parse(ConfigurationManager.AppSettings["pageSize"]);//每页显示行数从CONFIG文件中取出
string lineBreak = ConfigurationManager.AppSettings["lineBreak"];//换行符从CONFIG文件中取出
string lineBreakS = "<" + lineBreak + ">";
string lineBreakE = "</" +lineBreak+">";
strContent = strContent.Replace("\r\n", "");
string[] strLined = strContent.Split(new string[] {lineBreakS, lineBreakE }, StringSplitOptions.RemoveEmptyEntries);//以DIV为换行符
int pageCount = strLined.Length / pageSize;
int pageCountPlus = strLined.Length % pageSize == 0 ? 0 : 1;//非满页
pageCount = pageCount + pageCountPlus;//总页数
int currentPage = 1;//当前页码
string displayText = null;
if (Request.QueryString["pageIndex"]!=null) //获取翻页页码
{
currentPage = Convert.ToInt32(Request.QueryString["pageIndex"].ToString());
}
string pageInfo = "";//页数信息
for (int i = 1; i < pageCount+1; i++)
{
if (i==currentPage)
{
pageInfo += " 第" + i + "页";
if (pageCount>1)
{
pageInfo += " | ";
}
}
else
{
pageInfo += string.Format("<a href='newshow.aspx?pageIndex={0}' title='翻到第{0}页'>{0} | </a>",i);
}
}
labPageNumber.Text = pageInfo;
for (int i = (currentPage-1)*pageSize; i < currentPage*pageSize&&i<strLined.Length; i++)
{
displayText += "<div>" + strLined[i] + "</div>";
}
return displayText;
}