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

ASP.NET生成静态网页的方法

2008-05-01 04:36 603 查看
.Zxw360{display:none;}环境:Microsoft.NETFrameworkSDKv1.1
OS:WindowsServer2003中文版
ASP.NET生成静态HTML页,在ASP中实现的生成静态页用到的FileSystemObject对象,在.NET中涉及此类操作的是System.IO
注:以下是参考别人的程序代码,非原创!
Code:

/生成HTML页
publicstaticboolWriteFile(stringstrText,stringstrContent,stringstrAuthor)
{
stringpath=HttpContext.Current.Server.MapPath("/news/");
Encodingcode=Encoding.GetEncoding("gb2312");
//读取模板文件
stringtemp=HttpContext.Current.Server.MapPath("/news/text.html");
StreamReadersr=null;
StreamWritersw=null;
stringstr="";
try
{
sr=newStreamReader(temp,code);
str=sr.ReadToEnd();//读取文件
}
catch(Exceptionexp)
{
HttpContext.Current.Response.Write(exp.Message);

HttpContext.Current.Response.End();
sr.Close();
}stringhtmlfilename=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=newStreamWriter(path+htmlfilename,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
returntrue;
此函数放在Conn.CS基类中了
在添加新闻的代码中引用注:工程名为Hover
if(Hover.Conn.WriteFilethis.Title.Text.ToString),this.Content.Text.ToString),this.Author.Text.ToString)))
{
Response.Write("添加成功");
}
else
{
Response.Write("生成HTML出错!");
}

模板页Text.html代码
Code:

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
<HTML>
<HEAD>
<title>ShowArticle</title>
<body>
biaoti
<br>
content<br>
author
</body>
</HTML>
biaoti
<br>
content<br>
author
</body>
</HTML>
提示添加成功后会出以当前时间为文件名的html文件!上面只是把传递过来的几个参数直接写入了HTML文件中,在实际应用中需要先添加数据库,然后再写入HTML文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: