ASPNET生成静态网页的方法
环境:Microsoft NET Framework SDK v
OS:Windows Server 中文版
ASPNet生成静态HTML页
在Asp中实现的生成静态页用到的FileSystemObject对象!
在Net中涉及此类操作的是SystemIO
以下是程序代码 注:此代码非原创!参考别人代码
//生成HTML页
public static bool WriteFile(string strTextstring strContentstring strAuthor)
{
string path = HttpContextCurrentServerMapPath(/news/);
Encoding code = EncodingGetEncoding(gb);
// 读取模板文件
string temp = HttpContextCurrentServerMapPath(/news/l);
StreamReader sr=null;
StreamWriter sw=null;
string str=;
try
{
sr = new StreamReader(temp code);
str = srReadToEnd(); // 读取文件
}
catch(Exception exp)
{
HttpContextCurrentResponseWrite(expMessage);
HttpContextCurrentResponseEnd();
srClose();
}
string htmlfilename=DateTimeNowToString(yyyyMMddHHmmss)+l;
// 替换内容
// 这时模板文件已经读入到名称为str的变量中了
str =strReplace(ShowArticlestrText); //模板页中的ShowArticle
str = strReplace(biaotistrText);
str = strReplace(contentstrContent);
str = strReplace(authorstrAuthor);
// 写文件
try
{
sw = new StreamWriter(path + htmlfilename false code);
swWrite(str);
swFlush();
}
catch(Exception ex)
{
HttpContextCurrentResponseWrite(exMessage);
HttpContextCurrentResponseEnd();
}
finally
{
swClose();
}
return true;
此函数放在ConnCS基类中了
在添加新闻的代码中引用 注工程名为Hover
if(HoverConnWriteFilethisTitleTextToString)thisContentTextToString)thisAuthorTextToString)))
{
ResponseWrite(添加成功);
}
else
{
ResponseWrite(生成HTML出错!);
}
模板页l代码
<!DOCTYPE HTML PUBLIC //WC//DTD HTML Transitional//EN >
<HTML>
<HEAD>
<title>ShowArticle</title>
<body>
biaoti
<br>
content<br>
author
</body>
</HTML>
biaoti
<br>
content<br>
author
</body>
</HTML>
提示添加成功后会出以当前时间为文件名的html文件!上面只是把传递过来的几个参数直接写入了HTML文件中在实际应用中需要先添加数据库然后再写入HTML文件
完