首先制作一个模板页,暂时命名为template.htm,示例代码如下:
$content$
然后制作制作一个动态页面,在这里我们通过一个按钮点击事件来生成静态页面。
前台页面主要代码(Default.aspx):
复制代码 代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
后台页面主要代码(Default.aspx.cs):
复制代码 代码如下:
protected void btnMake_Click(object sender, EventArgs e)
{
//替换掉模板中的特征字符
string mbPath = Server.MapPath("template.htm");
Encoding code = Encoding.GetEncoding("UTF-8");
StreamReader sr = null;
StreamWriter sw = null;
string str = null;
//读取
try
{
sr = new StreamReader(mbPath, code);
str = sr.ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sr.Close();
}
//根据时间自动重命名,扩展名也可以自行修改
string fileName = DateTime.Now.ToString("yyyyMMddHHmm") + ".htm";
str = str.Replace("$content$", txtContent.Text);//替换content
//生成静态文件
try
{
sw = new StreamWriter(Server.MapPath("~/") + fileName, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sw.Close();
Response.Write("" + fileName + "已经生成!");
}
}
当新闻量很大时这样做势必会增加服务器的存储压力,暂时记录下来等毕业设计时再考虑增加动态生成静态页面,静态页面分页的功能。



