您的位置:首页 > 编程语言 > ASP

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

2007-06-05 12:41 483 查看
现在很多网站特别是资讯类的都把内容生成静态页(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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: