您的位置:首页 > 编程语言 > ASP

Asp.Net模板生成HTML页面

2015-02-12 19:03 513 查看
前一阵子,一哥们问我Asp.Net怎么根据模板生成HTML静态页面?

一、生成HTML好处

HTML都静态化了,不用说,速度肯定是更快的(不用读取数据库能不快吗)

更加的安全,脱离了数据库,防止了sql注入等等。

更利于SEO,HTML页面更加容易被收录到,这点对站长朋友来说,可能更关心。

二、Asp.Net生成HTML实现方法

干货直接上代码:

public static bool WriteFile(string strText,string strContent,string strAuthor)
{
string path = HttpContext.Current.Server.MapPath("/news/");
Encoding code = Encoding.GetEncoding("gb2312");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath("/news/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 htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
// 替换内容
// 这时,模板文件已经读入到名称为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(path + htmlfilename , false, code);
sw.Write(str);
sw.Flush();
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;

}
来源:http://www.csaspx.com/articlelist-6566.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: