2)在Default.aspx页面的按扭的事件处理中写如下代码:

//源码是替换掉模板中的特征字符

string mbPath = Server.MapPath("template.htm");

Encoding code = Encoding.GetEncoding("gb2312");

StreamReader sr = null;

StreamWriter sw = null;

string str = null;

sr = new StreamReader(mbPath, code);

str = sr.ReadToEnd();

catch (Exception ex)

throw ex;

finally

sr.Close();

//根据时间自动重命名,扩展名也可以自行修改

string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";

str = str.Replace("$title{1}quot;, txtTitle.Text);//替换Title

str = str.Replace("$content{1}quot;, txtContent.Text);//替换content

//生成静态文件

sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);

sw.Write(str);

sw.Flush();

catch (Exception ex)

throw ex;

finally

sw.Close();

Response.Write("恭喜 " + fileName + " 已经生成,保存在htm文件夹下!");

方法二:根据Url地址生成静态页保持思路分析:

直接将做好的动态页面翻译成静态页面,所以生成的内容不够灵活

参考代码:

//根据Url地址生成静态页保持

protected void Button2_Click(object sender, EventArgs e)

Encoding code = Encoding.GetEncoding("utf-8");

StreamReader sr = null;

StreamWriter sw = null;

string str = null;

//读取远程路径

WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());

WebResponse myTemp = temp.GetResponse();

sr = new StreamReader(myTemp.GetResponseStream(), code);

sr = new StreamReader(myTemp.GetResponseStream(), code);

str = sr.ReadToEnd();

catch (Exception ex)

throw ex;

finally

sr.Close();

string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";

sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);

sw.Write(str);

sw.Flush();

catch (Exception ex)

throw ex;

finally

sw.Close();

Response.Write("恭喜 " + fileName + " 已经生成,保存在htm文件夹下!");

方法一:根据模板生成,保持在html文件夹中思路分析:1.写一个自定义的HTM模板 其中需要替换的地方用$value$这样包含起来2.生成页面的ASPX中,用StreamReader读取HTM模板,用REPLACE替换$value$3.把完成的字符串用StreamWriter输出参考代码如下:1)定义模板emplate.htm $title$ 生成静态页的Demo|-51aspx.com$tit...