asp.net(c#)生成靜態html頁面
阿新 • • 發佈:2019-01-08
{
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());
}
}
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 +"')"
//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());
}
}