asp.net 生成静态分页

asp.net 生成静态分页
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  Mysqlserver;
using  System.IO;
using  System.Text;
namespace  NewsAdd
{
    
public   partial   class  Admin_AdminPanel_NewsAdd : System.Web.UI.Page
    {
        
protected   void  Page_Load( object  sender, EventArgs e)
        {
        }
        
protected   void  Button1_Click( object  sender, EventArgs e)
        {
            
string  strDate  =  DateTime.Now.ToString( " yyMMdd " +   " \ "   +  DateTime.Now.ToString( " yyyymmddhhmmss " );
            
string  strFileName  =  strDate  +   " .shtml " ;
            
string  strTitle = Request.Form[ " Title " ].ToString().Trim();
            
string  strContent = Request.Form[ " Content " ].ToString().Trim();
            
string [] content  =  strContent.Split( new  Char[] { ' | ' });
            
int  upbound  =  content.Length;
            SqlServerDataBase db 
=   new  SqlServerDataBase();
            
bool  success  =  db.Insert( " insert into inNews(Title,Content,FilePath)values(' "   +  strTitle  +   " ',' "   +  strContent  +   " ',' "   +  strFileName  +   " ') " null );
            
string  dir  =  Server.MapPath( " http://www.cnblogs.com/ " + " NewsFiles/ " + DateTime.Now.ToString( " yyMMdd " ));
            
if  ( ! Directory.Exists(dir))
            {
                Directory.CreateDirectory(dir);
            }
            
try
            {
            
for  ( int  i  =   0 ; i  <  content.Length; i ++ )
            {
            
// string[] newContent = new string[4];
            StringBuilder strhtml  =   new  StringBuilder();
                
using  (StreamReader sr  =   new  StreamReader(Server.MapPath( " http://www.cnblogs.com/ "   +   " NewsFiles/ " +   " \template.html " ,Encoding.GetEncoding( " gb2312 " )))
                {
                    String oneline;
                    
while  ((oneline  =  sr.ReadLine())  !=   null )
                    {
                        strhtml.Append(oneline);
                    }
                    sr.Close();
                }
            DataSet ds 
=  db.Select( " select top 1 NewsId from inNews order by NewsId desc " null );
            
string  strTable  =   " <table><tr><td>$upUrl</td><td>$Number</td><td>$downUrl</td></tr></table> " ;
                
string  FilePath = "" ;
                strhtml 
=  strhtml.Replace( " $Title " , strTitle);
                strhtml 
=  strhtml.Replace( " $NewsId " , ds.Tables[ 0 ].Rows[ 0 ][ " NewsId " ].ToString());
                strhtml 
=  strhtml.Replace( " $Time " , DateTime.Now.ToString( " yyyy/MM/dd " ));
                strhtml 
=  strhtml.Replace( " $Content " , content[i]);
                
string  strNumber  =   "" ;
                
for  ( int  m  =   1 ; m  <= upbound; m ++ )
                {
                    
if  (m  ==   1 )
                        strNumber 
=  strNumber  +   "  [ " + " <a href= "   +   " ../ "   +  strDate  +   " .shtml "   +   " > "   +  m  +   " </a> " + " " ;
                    
else
                    {
                        
int  n  =  m  -   1 ;
                        strNumber 
=  strNumber  +   "  [ "   + " <a href= "   +   " ../ "   +  strDate  +   " _ "   +  n  +   " .shtml "   +   " > "   +   m  +   " </a> " + " " ;
                    }
                }
                    
if  (upbound  ==   0 )
                    {
                        FilePath 
=  Server.MapPath( " http://www.cnblogs.com/ " +   " NewsFiles "   +   " // "   +  strDate  +   " .shtml " ;
                        strhtml 
=  strhtml.Replace( " $Pager " "" );
                    }
                    
else
                    {
                        
if  (i  ==   0 )
                            FilePath 
=  Server.MapPath( " http://www.cnblogs.com/ " +   " NewsFiles "   +   " // "   +  strDate  +   " .shtml " ;
                        
else
                            FilePath 
=  Server.MapPath( " http://www.cnblogs.com/ " +   " NewsFiles "   +   " // "   +  strDate  +   " _ "   +  i  +   " .shtml " ;
                        
                        
if  (i  ==   0 )
                            strTable 
=  strTable.Replace( " $upUrl " "" ); 
                        
if  (i  <=   1 ) // 上一页分页
                            strTable  =  strTable.Replace( " $upUrl " " <a href= "   +   " ../ "   +  strDate  +   " .shtml "   +   " >上一页</a> " );
                        
else
                        {
                            
int  p  =  i  -   1 ;
                            strTable 
=  strTable.Replace( " $upUrl " " <a href= "   +   " ../ "   +  strDate  +   " _ "   +  p  +   " .shtml "   +   " >上一页</a> " );
                        }
                        
                        
if (upbound == 1 )
                        strTable 
=  strTable.Replace( " $Number " "" );
                        
else
                        strTable 
=  strTable.Replace( " $Number " , strNumber);
                        
if (i == upbound - 1 )
                            strTable 
=  strTable.Replace( " $downUrl " "" );
                        
if  (i  !=  upbound  -   1 )
                        {
                            
int  q  =  i  +   1 ;
                            strTable 
=  strTable.Replace( " $downUrl " " <a href= "   +   " ../ "   +  strDate  +   " _ "   +  q  +   " .shtml "   +   " >下一页</a> " );
                        }
                        
else
                        {
                            
int  j  =  upbound  -   1 ;
                            strTable 
=  strTable.Replace( " $downUrl " " <a href= "   +   " ../ "   +  strDate  +   " _ "   +  j  +   " .shtml "   +   " >下一页</a> " );
                        }
                        strhtml 
=  strhtml.Replace( " $Pager " , strTable);
                    }
                FileInfo finfo 
=   new  FileInfo(FilePath);
                
using  (FileStream fs  =  finfo.OpenWrite())
                {
                    StreamWriter sw 
=   new  StreamWriter(fs, System.Text.Encoding.Default);
                    sw.WriteLine(strhtml);
                    sw.Flush();
                    sw.Close();
                }
            }
        }
        
catch  (Exception err)
        {
            Response.Write(err.ToString());
        }
        }
}
}
 
====================================================================================
读取分页标记   
  
string []   pageNum    =    System.Text.RegularExpressions.Regex.Split(str, " 分页标记 " );   
  
for ( int    i    =     0 ;i < pageNum.Length;i ++ )   
  {   
    
// 生成文件   和内容     
     string    FileName    =     " m_ "     +    i.ToString()    +     " .htm " ;   
  .   
  }
 
====================================================================================
using  System;
using  System.Collections.Generic;
using  System.Text; 


namespace  Pagination
{
    
///   <summary>
    
///  完成分页导航的生成
    
///   </summary>
     public   class  PageNavigate
    {
        
private  PageNavigate() { }
        
///   <summary>
        
///  生成分页导航条
        
///   </summary>
        
///   <param name="totalRecord"> 总记录数 </param>
        
///   <param name="pageSize"> 页面记录数 </param>
        
///   <param name="DistLen"> 数字长度 </param>
        
///   <param name="page"> 当前页数 </param>
        
///   <param name="QueryParametet"> URL参数 </param>
        
///   <param name="scriptName"> 页名前缀 </param>
        
///   <returns></returns>
          public   static   string  GetNavigate( int  totalRecord, int  pageSize, int  DistLen, int  page, string  QueryParameter, string  scriptName, string  extName)
         { 

             
int  pageNum;  // 页面数量
              string  HTML = "" ;
             
if  ((totalRecord  %  pageSize)  !=   0 )
                 pageNum 
=  (totalRecord  /  pageSize)  +   1 ;
             
else
                 pageNum 
=  totalRecord  /  pageSize; 

             
if  (pageNum  <   1 )
                 
return  HTML;
             
// 统计信息
             HTML  +=   " 显示 "   +  ((page  -   1 *  pageSize  +   1 +   " " ;  
             
if  (page  >=  pageNum)
                 HTML 
+=  totalRecord  +   " " ;
             
else
                 HTML 
+=  page  *  pageSize  +   " " ;
            
             HTML 
+=   " 共<B> "   +  totalRecord  +   " </B>条  "   +  pageSize  +   " 条/页 " ;
             
             
// 首页,上一页
              if  (page  >   1 )
             {
                 HTML 
+=   " <a href=\ ""  + scriptName +  " 1 "  + extName +  " ? "  + QueryParameter +  " \ "   > 首  页 </a> "

                 HTML 
+=   " <a href=\ ""  + scriptName + (page - 1) + extName +  " ? "  + QueryParameter +  " \ "  > 上一页 </a> " ;
             } 

             
// 数字序列
              int  page_t;
             
if  (page  <  DistLen  *   2 )
             {
                 
if  (pageNum  >  DistLen  *   2

                     page_t 
=  DistLen  *   2 ;
                 
else
                     page_t 
=  pageNum; 

                 
for  ( int  i  =   1 ; i  <=  page_t; i ++ )
                 {
                     
if  (i  ==  page)
                         HTML 
+=   " <B>&nbsp; "   +  page  +   " </B> " ;
                     
else
                         HTML 
+=   " <a href=\ "" + scriptName + i + extName+  " ? "  +QueryParameter+  " \ " >&nbsp; "   +  i  +   " </a> "

                 }
             }
             
else
             {
                 
if  (pageNum  >  (page  +  DistLen))
                     page_t 
=  page  +  DistLen;
                 
else
                     page_t 
=  pageNum; 

                 
for  ( int  i  =  (page  -  DistLen); i  <=  page_t; i ++ )
                 {
                     
if  (i  ==  page)
                         HTML 
+=   " <B>&nbsp; "   +  page  +   " </B> " ;
                     
else
                         HTML 
+=   " <a href=\ ""  + scriptName + i + extName +  " ? "  + QueryParameter +  " \ "  >&nbsp; "   +  i  +   " </a> "

                 } 

             }
             
// 下一页,尾页
              if  (page  <  pageNum)
             {
                 HTML 
+=   " <a href=\ ""  + scriptName + (page + 1) + extName +  " ? "  + QueryParameter +  " \ "  > 下一页 </a> " ;
                 HTML 
+=   " <a href=\ ""  + scriptName + pageNum + extName +  " ? "  + QueryParameter +  " \ "  > 尾页 </a> " ;
             } 

             
return  HTML;
         }
        
///   <summary>
        
///  带下拉框的分页
        
///   </summary>
        
///   <param name="pageCount"> 总页数 </param>
        
///   <param name="page"> 当前页 </param>
        
///   <param name="pageSize"> 页面大小 </param>
        
///   <param name="QueryParameter"> 页面参数 </param>
        
///   <param name="scriptName"> 页面前缀 </param>
        
///   <returns></returns>
         public   static   string  GetNavigate( int  pageCount,  int  page,  int  pageSize,  string  QueryParameter,  string  scriptName, string  extName)
        {
            
string  HTML  =   "" ;
            
if  (pageCount  <   1 return  HTML;
            
// 首页,上一页
             if  (page  >   1 )
            {
                HTML 
+=   " <a href=\ ""  + scriptName +  " 1 "  + extName +  " ? "  + QueryParameter +  " \ " > 首页 </a> " ;
                HTML 
+=   " <a herf=\ ""  + scriptName + (page - 1) + extName +  " ? "  + QueryParameter +  " \ " > 上一页 </a> " ;
            }
            
else
            {
                HTML 
+=   "  首页  上一页  " ;
            } 

            
// 下一页,尾页
             if  (page  <  pageCount)
            {
                HTML 
+= " <a href=\ ""  + scriptName + (page+1)+ extName + " ? "  + QueryParameter +  " \ " > 下一页 </a> " ;
                HTML 
+=   " <a href=\ ""  + scriptName + (pageCount) + extName + " ? "   + QueryParameter +  " \ " > 尾页 </a> " ;
            }
            
else
            { 

                HTML 
+=   "  下一页  尾页  " ;
            }
            HTML 
+=   "  <select name=\ " page___\ "  id=\ " page___\ "  onChange=\ "  GoToSelectedPage();\ " > "   +  Environment.NewLine; ;
            HTML 
+=   "  <option> 选择 </option> "   + Environment.NewLine;
            
for  ( int  i  =   1 ; i  <=  pageCount; i ++ )
            {
                
if  (i  ==  page)
                    HTML 
+=   " <option value=\ ""  + scriptName +  i + extName +  " ? "  + QueryParameter+  " \ "  selected> "   +  i  +   " </option> "   +  Environment.NewLine;
                
else
                    HTML 
+=   " <option value=\ ""  + scriptName + i + extName +  " ? "  + QueryParameter +  " \ " > "   +  i  +   " </option> "   +  Environment.NewLine;
            }
            HTML 
+=   " </select> "   +  Environment.NewLine;
            HTML 
+=   " <script language=\ " JScript\ " > "   +  Environment.NewLine;
            HTML 
+=   " <!-- "   +  Environment.NewLine;
            HTML 
+=   "  function GoToSelectedPage(){  "   +  Environment.NewLine;
            HTML 
+=   "  var page___=document.getElementById(\ " page___\ " ); "   +  Environment.NewLine;
            HTML 
+=   "  var index=page___.selectedIndex; "   +  Environment.NewLine;
            HTML 
+=   "  if(index==0) return; "   +  Environment.NewLine;
            HTML 
+=   "  window.location=page___.value; "   + Environment.NewLine;
            HTML 
+=   "  } "   +  Environment.NewLine;
            HTML 
+=   "  //--> "   +  Environment.NewLine;
            HTML 
+=   "  </script> "   +  Environment.NewLine;
            
return  HTML; 

        }
        
///   <summary>
        
///  计算页面数量
        
///   </summary>
        
///   <param name="totalRecord"> 总记录数 </param>
        
///   <param name="pageSize"> 页面大小 </param>
        
///   <returns> 页面数量 </returns>
         public   static   int  GetPageCount( int  totalRecord,  int  pageSize)
        {
            
if  (totalRecord  %  pageSize  ==   0 )
                
return  totalRecord  /  pageSize;
            
else
                
return  (totalRecord  /  pageSize)  +   1

        }
        
///   <summary>
        
///  返回合成的文件名
        
///   </summary>
        
///   <param name="scritpName"> 页面前缀 </param>
        
///   <param name="page"> 当前页 </param>
        
///   <param name="extName"> 扩展名 </param>
        
///   <returns></returns>
         public   static   string  GetShortFileName( string  scritpName, int  page, string  extName)
        {
            
return  scritpName  +  page  +  extName;
        } 

     } 

}

你可能感兴趣的:(asp.net)