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...