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

来源:互联网 发布:手机开店软件 编辑:程序博客网 时间:2024/06/11 11:20
前些日子写了一个内容页分页的方法。感觉还可以,那个方法对于从网上复制的新闻或是自己添加新闻都可以。可是有一点就是如果用户是从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$}"< 0break;

            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格式的文件。
如果你有好的方法,请告诉我。谢谢 
原创粉丝点击