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


分别是通过模板(比较常用)和根据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文件,仅供大家参考,也希望有其他生成方式的也讨论一下 部分源码搜集于网络

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3