1 、建立Conn.cs类文件
using System;
using System.Text;
using System.Web;
using System.IO;
namespace myservers
{
/// <summary>
/// Conn 的摘要说明。
/// </summary>
public class Conn
{
public Conn()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string WriteFile( string strText, string strContent, string strAuthor)
{
string path = HttpContext.Current.Server.MapPath( " /myservers/news " ); // 取得新闻当前文件夹
DateTime year = DateTime.Now;
string years = Convert.ToString(year.Year); // 当前年
string month = Convert.ToString(year.Month); // 当前月
string CurrentPath = path + " / " + years; // 设置当前年目录
if (Directory.Exists(CurrentPath) == false ) // 若该目录不存在,创建该目录
Directory.CreateDirectory(CurrentPath);
string CurrentMonthPath = CurrentPath + " / " + month; // 设置当前月目录
if (Directory.Exists(CurrentMonthPath) == false ) // 若该目录不存在,创建该目录
Directory.CreateDirectory(CurrentMonthPath);
Encoding code = Encoding.GetEncoding( " gb2312 " ); // 编码
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath( " /myservers/text.html " );
StreamReader sr = null ;
StreamWriter sw = null ;
string str = "" ;
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd(); // 读取模板文件
}
catch (Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}
// 设置文件目录和文件名
string datepath = DateTime.Now.ToString( " ddHHmmss " ) + " .html " ;
string htmlfilename = CurrentMonthPath + " / " + datepath ;
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
str = str.Replace( " ShowArticle " ,strText); // 模板页中的ShowArticle
str = str.Replace( " biaoti " ,strText);
str = str.Replace( " content " ,strContent);
str = str.Replace( " author " ,strAuthor);
// 写文件
try
{
sw = new StreamWriter(htmlfilename, false ,code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
string path1 = " news/ " + years + " / " + month + " / " + datepath;
return path1;
}
}
}
2 .AddNews.aspx文件
private void Button1_Click( object sender, System.EventArgs e)
{
string content = Server.HtmlEncode( this .Content.Value.Trim());
Conn Hover = new Conn();
try
{
string htmlpath = Hover.WriteFile( this .Title.Text.ToString(),Server.HtmlDecode( this .Content.Value).ToString(), this .Author.Text.ToString());
this .AddData(htmlpath);
Response.Write(htmlpath);
}
catch
{
Response.Write( " 生成HTML出错! " );
}
}
protected void AddData( string mypath)
{
string conn = " server=localhost;uid=sa;pwd=963100;database=mis " ;
string sqlstr = " insert into news (name,title,content,author,path) values (' " + this .Title.Text.ToString() + " ',' " + this .Title.Text.ToString() + " ',' " + this .Content.Value + " ',' " + this .Author.Text.ToString() + " ',' " + mypath + " ') " ;
SqlConnection myconn = new SqlConnection(conn);
myconn.Open();
SqlCommand mycommand = new SqlCommand(sqlstr,myconn);
int i = mycommand.ExecuteNonQuery();
}
3 、添加模板text.html文件
< head > ShowArticle </ head >
< body >
title < br >
content < br >
author
</ body >