二种生成静态网页的方法(asp.net)

      ASP.NET生成静态页,主要有二种方式.分别是通过模板和根据url生成

  通过输入内容替换模板或者url地址两种方式进行静态文件的生成

  templete.htm为模板文件,htm为生成后的静态文件保存位置

  下面是.cs文件

 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  }

posted on 2008-11-20 14:16  爱问天  阅读(1418)  评论(2编辑  收藏  举报