前些日子写了一个内容页分页的方法。感觉还可以,那个方法对于从网上复制的新闻或是自己添加新闻都可以。可是有一点就是如果用户是从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格式的文件。
如果你有好的方法,请告诉我。谢谢
这里我的标记是{$page$}。你要在分页的地方。加上这个标记就行了。下面是代码:

















dbc.Reset(); //这里是我的连库方法,你可以使用你自己的。就是提取一条记录






































大家看一下有没有什么更好的方法。就是不用加标记,只要定义相应的字数,就可以分页。并且能够处理相应的word格式的文件。
如果你有好的方法,请告诉我。谢谢