您的位置:首页 > 编程语言 > ASP

asp.net内容页面分页的另一种方法

2008-03-28 11:06 441 查看
前些日子写了一个内容页分页的方法。感觉还可以,那个方法对于从网上复制的新闻或是自己添加新闻都可以。可是有一点就是如果用户是从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格式的文件。
如果你有好的方法,请告诉我。谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: