前些日子写了一个内容页分页的方法。感觉还可以,那个方法对于从网上复制的新闻或是自己添加新闻都可以。可是有一点就是如果用户是从word中复制,或是里面有一些表格,就不太好用了。所以才想到用加一个标记的方法。当然了,这个方法大家早就用了。只是我在网上一直没有找到,就自己写了一个,感觉还可以。 这里我的标记是{$page$}。你要在分页的地方。加上这个标记就行了。下面是代码: protected void Page_Load( object sender, EventArgs e) { if (!IsPostBack) { int page; if (Request.QueryString["page"] != null) { page = Convert.ToInt32(Request.QueryString["page"].ToString()); } else { page = 1; } string[] strContent = null; dbc.Reset(); //这里是我的连库方法,你可以使用你自己的。就是提取一条记录 dbc.ConditionExpress = "id=16"; //这里是我的连库方法,你可以使用你自己的。就是提取一条记录 strContent = filesplit(dbc.GetValue("my_Article","content").ToString()); //这里是我的连库方法,你可以使用你自己的。就是提取一条记录 if (strContent[page - 1] != null) { Response.Write(strContent[page - 1]); } else { Response.Write("为什么是空呢"); } for (int i = 0; i < strContent.Length; i++) { if (strContent[i] != null) { int npage = i + 1; Response.Write("<a href=login.aspx?page=" + npage + ">" + npage + "</a>"); } } } } public string [] filesplit( string contents) { int fileindex = 0; string[] splitfile = new string[10]; while (contents.IndexOf("{$page$}") > 0) { if (contents.IndexOf("{$page$}") < 0) break; splitfile[fileindex] = contents.Substring(0, contents.IndexOf("{$page$}")); contents = contents.Remove(0, splitfile[fileindex].Length + 8); //这里加一个8主要是就是把{$page$}标记 也去掉 fileindex++; } splitfile[fileindex] = contents; return splitfile; } 大家看一下有没有什么更好的方法。就是不用加标记,只要定义相应的字数,就可以分页。并且能够处理相应的word格式的文件。 如果你有好的方法,请告诉我。谢谢 转载于:https://www.cnblogs.com/chen79/archive/2008/02/22/1077141.html