Asp.net生成静态页面最简单方法(源码)

public string IssuanceHTML(string NC_Id_S)

{

string returnValue = "";

string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";

        SqlConnection conn = null;

        SqlDataReader sdr = null;

        try

        {

            string[] NC_Id_SS = NC_Id_S.Split(','); //批量操作时 Split分离数据

            for (int i = 0; i < NC_Id_SS.Length; i++)  //循环生成

            {conn = Connection.CreateDbConn();

             conn.Open();

             SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

    cmd.CommandText = "SELECT NC_Name_S, NC_Content_S FROM NewsContent WHERE NC_Id_S = '" + NC_Id_S + "'";

    sdr = cmd.ExecuteReader();

sdr.Read();

string path = HttpContext.Current.Server.MapPath("/HTML/"); //生成文件路径

    Encoding code = Encoding.GetEncoding("gb2312"); //编码规则

    string temp = HttpContext.Current.Server.MapPath("/Templet/C8Article.html"); 模版文件

    StreamReader sr = null;

    StreamWriter sw = null;

    string str = "";

    sr = new StreamReader(temp, code);

    str = sr.ReadToEnd();

    sr.Close();

    str = str.Replace("spagetitle", sdr.GetString(0).ToString());//spagetitle为模版文件中内容

    str = str.Replace("scontent", sdr.GetString(1).ToString());

    sw = new StreamWriter(path + htmlfilename, false, code);

    sw.Write(str);

    sw.Flush();

    sw.Close();

    returnValue = "yes";

     }

        catch(Exception e)

        {  returnValue = e.Message.ToString();

        }

        finally

        {   sdr.Close();

            conn.Close();

        }

        return returnValue;

}

--------------------------------------------------------------------------------------------
另外一个代码
--------------------------------------------------------------------------------------------
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()); 
                } 
                } 


 



本文转自灵动生活博客园博客,原文链接:http://www.cnblogs.com/ywqu/archive/2008/01/05/1027399.html,如需转载请自行联系原作者

上一篇:你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧


下一篇:容量预估/性能压测思考