1. 程式人生 > >asp.net(c#)生成靜態html頁面

asp.net(c#)生成靜態html頁面

{
            
string strTitle=Request.Form["Title"].ToString();
            
string strContent=Request.Form["Content"].ToString();
            SqlServerDataBase db 
=new SqlServerDataBase();
            
bool success = db.Insert("insert into inNews(Title,Content)values('"+ strTitle +"','"+ strContent +"')"
null);
            
//if (success)
               
// Message.Text = "新增成功!";
///////////////////////////建立當前日期的資料夾開始
string dir = Server.MapPath("../../"+"NewsFiles/"+DateTime.Now.ToString("yyMMdd"));
            
if (!Directory.Exists(dir))
            
{
                Directory.CreateDirectory(dir);
            }

            
///////////////////////////建立當前日期的資料夾結束

            
            
string[] newContent =newstring[5];//定義和html標記數目一致的陣列
            StringBuilder strhtml =new StringBuilder();
            
try
            
{
                
//建立StreamReader物件
using (StreamReader sr =new StreamReader(Server.MapPath("../../"+"NewsFiles/"+"/template.html"))
                
{
                    String oneline;
                    
//讀取指定的HTML檔案模板
while ((oneline = sr.ReadLine()) !=null)
                    
{
                        strhtml.Append(oneline);
                    }

                    sr.Close();
                }

            }

            
catch (Exception err)
            
{
                
//輸出異常資訊
                Response.Write(err.ToString());
            }

            
//為標記陣列賦值
            newContent[0= strTitle;//標題
            newContent[1="BackColor='#cccfff'";//背景色
            newContent[2="#ff0000";//字型顏色
            newContent[3="100px";//字型大小
            newContent[4= strContent;//主要內容

            
//根據上面新的內容生成html檔案
try
            
{
                
//指定要生成的HTML檔案
string fname = Server.MapPath("../../"+"NewsFiles/"+ DateTime.Now.ToString("yyMMdd")) +"/"+ DateTime.Now.ToString("yyyymmddhhmmss"+".html";
                
//替換html模版檔案裡的標記為新的內容
for (int i =0; i <5; i++)
                
{
                    strhtml.Replace(
"$htmlkey["+ i +"]", newContent[i]);
                }

                
//建立檔案資訊物件
                FileInfo finfo =new FileInfo(fname);
                
//以開啟或者寫入的形式建立檔案流
using (FileStream fs = finfo.OpenWrite())
                
{
                    
//根據上面建立的檔案流建立寫資料流
                    StreamWriter sw =new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
                    
//把新的內容寫到建立的HTML頁面中
                    sw.WriteLine(strhtml);
                    sw.Flush();
                    sw.Close();
                }

            }

            
catch (Exception err)
            
{
                Response.Write(err.ToString());
            }

        }