Asp.net生成htm静态文件的两种途径


现在很多网站特别是资讯类的都把内容生成静态页(htm\html\shtml等),这类总结了一下两种生成静态页的方法并做了一个Demo文件供大家下载。
  
  分别是通过模板(比较常用)和根据url生成(不到万部则以不用,因为这中方式只能获取html的部分):
  
  Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。
  
  通过收入内容替换模板或者url地址两种方式进行静态文件的生成
  
  templete.htm为模板文件,htm为生成后的静态文件保存位置
  
  这类粘贴出.cs文件
  
   1 //51aspx.com生成静态页演示文件,转载请保留该信息
   2 public partial class _Default : System.Web.UI.Page
   3 {
   4 protected void Page_Load(object sender, EventArgs e)
   5 {
   6
   7 }
   8
   9 //根据模板生成,保持在html文件夹中(部分源码搜集于网络)
   10 protected void Button1_Click(object sender, EventArgs e)
   11 {
   12 //源码是替换掉模板中的特征字符
   13
   14 string mbPath =Server.MapPath("template.htm");
   15 Encoding code = Encoding.GetEncoding("gb2312");
   16 StreamReader sr = null;
   17 StreamWriter sw = null;
   18 string str = null;
   19
   20 //读取
   21 try
   22 {
   23 sr = new StreamReader(mbPath, code);
   24 str = sr.ReadToEnd();
   25
   26 }
   27 catch (Exception ex)
   28 {
   29 throw ex;
   30 }
   31 finally
   32 {
   33 sr.Close();
   34 }
   35
   36 //根据时间自动重命名,扩展名也可以自行修改
   37 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
   38 str = str.Replace("$title$", txtTitle.Text);//替换Title
   39 str = str.Replace("$content$", txtContent.Text);//替换content
   40
   41 //生成静态文件
   42 try
   43 {
   44 sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
   45 sw.Write(str);
   46 sw.Flush();
   47
   48 }
   49 catch (Exception ex)
   50 {
   51 throw ex;
   52 }
   53 finally
   54 {
   55 sw.Close();
   56 Response.Write("恭喜<a href=htm/"+fileName+" target=_blank>"+fileName+"</a>已经生成,保存在htm文件夹下!");
   57 }
   58
   59
   60 }
   61
   62
   63 //根据Url地址生成静态页保持
   64 protected void Button2_Click(object sender, EventArgs e)
   65 {
   66 Encoding code = Encoding.GetEncoding("utf-8");
   67 StreamReader sr = null;
   68 StreamWriter sw = null;
   69 string str = null;
   70
   71 //读取远程路径
   72 WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
   73 WebResponse myTemp = temp.GetResponse();
   74 sr = new StreamReader(myTemp.GetResponseStream(), code);
   75 //读取
   76 try
   77 {
   78 sr = new StreamReader(myTemp.GetResponseStream(), code);
   79 str = sr.ReadToEnd();
   80
   81 }
   82 catch (Exception ex)
   83 {
   84 throw ex;
   85 }
   86 finally
   87 {
   88 sr.Close();
   89 }
   90 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
   91
   92 //写入
   93 try
   94 {
   95 sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
   96 sw.Write(str);
   97 sw.Flush();
   98
   99 }
  100 catch (Exception ex)
  101 {
  102 throw ex;
  103 }
  104 finally
  105 {
  106 sw.Close();
  107 Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
  108 }
  109
  110 }
  111 }
  只是一个Demo文件,仅供大家参考,也希望有其他生成方式的也讨论一下(部分源码搜集于网络)

转载于:https://www.cnblogs.com/think-jerry/archive/2007/05/24/758249.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值