利用ASP.NET动态生成HTML文件
2008-08-14 22:38
453 查看
利用ASP.Net动态生成HTML文件!
2环境:Microsoft.NETFrameworkSDKv2.0.50727
3OS:WindowsServer2003SP1中文版
4ASP.Net生成静态HTML页
5在.Net中涉及此类操作的是System.IO
6
7实现动态创建HTML文件的功能需要应用StreamReader和StreamWriter类。
8
9在ASP.net中,String对象是不可改变的,每次使用该类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为新对象分配新的空间。在需要对字符串执行重复修改的情况下,就会增加系统开销。如果要修改字符串而不创建新的对象,则可以使用Sysmte.text命名空间下的StringBuilder类,该类可以改变字符串,当在一个循环中将许多字符串连接到一起时,使用StringBuildr类可以提高性能。
10
11实现方法:首先使用StreamReader对象读取指定HTML模板文件内容,并把读取到的内容保存到StringBuilder对象中,然后通过for循环语句依次替换关键字段,最后再通过StreamWriter对象根据替换后新内容创建一个HTML文件。
12
13代码如下:
14
15页面文件:
16
17新闻模板文件(template.html):
18
19 <html>
20 <head>
21 <title>$htmlkey[0]</title>
22 <metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
23 </head>
24 <body>
25 <table$htmlkey[1]height="100%"border="0"width="100%"cellpadding="10"cellspacing="0" bgcolor="#eeeeee"style="border:1pxsolid#000000">
26 <tr>
27 <tdwidth="100%"valign="middle"align="left">
28 <spanstyle="color:$htmlkey[2];font-size:$htmlkey[3]"><marquee>$htmlkey[4]</marquee></span>
29 </td>
30 </tr>
31 </table>
32 </body>
33</html>
34
35
36页面文件:Dhtml.aspx
37
38<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Dhtml.aspx.cs"Inherits="Dhtml"%>
39
40<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
41
42<htmlxmlns="http://www.w3.org/1999/xhtml">
43<headrunat="server">
44 <title>UntitledPage</title>
45</head>
46<body>
47 <formid="Form1"method="post"runat="server">
48 <asp:Buttonid="btnCreate"style="Z-INDEX:101;LEFT:576px;POSITION:absolute;TOP:48px"
49 runat="server"Text="创建HTML文件"OnClick="btnCreate_Click"></asp:Button>
50 <asp:TextBoxid="txtContent"style="Z-INDEX:102;LEFT:208px;POSITION:absolute;TOP:80px"
51 runat="server"TextMode="MultiLine"Height="402px"Width="352px"></asp:TextBox>
52 <asp:HyperLinkid="hyCreateFile"style="Z-INDEX:103;LEFT:584px;POSITION:absolute;TOP:96px"
53 runat="server"Target="_blank">创建的HTML文件</asp:HyperLink>
54 <asp:TextBoxid="txtTitle"style="Z-INDEX:104;LEFT:208px;POSITION:absolute;TOP:48px"runat="server"
55 Width="352px"></asp:TextBox>
56 <asp:Labelid="Label1"style="Z-INDEX:105;LEFT:128px;POSITION:absolute;TOP:48px"runat="server">页面标题</asp:Label>
57 <asp:Labelid="Label2"style="Z-INDEX:106;LEFT:128px;POSITION:absolute;TOP:80px"runat="server">页面内容</asp:Label>
58 </form>
59</body>
60</html>
61
62
63实现代码:Dhtml.aspx.cs
64
65usingSystem;
66usingSystem.Data;
67usingSystem.Configuration;
68usingSystem.Collections;
69usingSystem.Web;
70usingSystem.Web.Security;
71usingSystem.Web.UI;
72usingSystem.Web.UI.WebControls;
73usingSystem.Web.UI.WebControls.WebParts;
74usingSystem.Web.UI.HtmlControls;
75usingSystem.Text;
76usingSystem.IO;
77
78publicpartialclassDhtml:System.Web.UI.Page
79
147vs2005.net+winserver2003sp1下调试通过
148
2环境:Microsoft.NETFrameworkSDKv2.0.50727
3OS:WindowsServer2003SP1中文版
4ASP.Net生成静态HTML页
5在.Net中涉及此类操作的是System.IO
6
7实现动态创建HTML文件的功能需要应用StreamReader和StreamWriter类。
8
9在ASP.net中,String对象是不可改变的,每次使用该类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为新对象分配新的空间。在需要对字符串执行重复修改的情况下,就会增加系统开销。如果要修改字符串而不创建新的对象,则可以使用Sysmte.text命名空间下的StringBuilder类,该类可以改变字符串,当在一个循环中将许多字符串连接到一起时,使用StringBuildr类可以提高性能。
10
11实现方法:首先使用StreamReader对象读取指定HTML模板文件内容,并把读取到的内容保存到StringBuilder对象中,然后通过for循环语句依次替换关键字段,最后再通过StreamWriter对象根据替换后新内容创建一个HTML文件。
12
13代码如下:
14
15页面文件:
16
17新闻模板文件(template.html):
18
19 <html>
20 <head>
21 <title>$htmlkey[0]</title>
22 <metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
23 </head>
24 <body>
25 <table$htmlkey[1]height="100%"border="0"width="100%"cellpadding="10"cellspacing="0" bgcolor="#eeeeee"style="border:1pxsolid#000000">
26 <tr>
27 <tdwidth="100%"valign="middle"align="left">
28 <spanstyle="color:$htmlkey[2];font-size:$htmlkey[3]"><marquee>$htmlkey[4]</marquee></span>
29 </td>
30 </tr>
31 </table>
32 </body>
33</html>
34
35
36页面文件:Dhtml.aspx
37
38<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Dhtml.aspx.cs"Inherits="Dhtml"%>
39
40<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
41
42<htmlxmlns="http://www.w3.org/1999/xhtml">
43<headrunat="server">
44 <title>UntitledPage</title>
45</head>
46<body>
47 <formid="Form1"method="post"runat="server">
48 <asp:Buttonid="btnCreate"style="Z-INDEX:101;LEFT:576px;POSITION:absolute;TOP:48px"
49 runat="server"Text="创建HTML文件"OnClick="btnCreate_Click"></asp:Button>
50 <asp:TextBoxid="txtContent"style="Z-INDEX:102;LEFT:208px;POSITION:absolute;TOP:80px"
51 runat="server"TextMode="MultiLine"Height="402px"Width="352px"></asp:TextBox>
52 <asp:HyperLinkid="hyCreateFile"style="Z-INDEX:103;LEFT:584px;POSITION:absolute;TOP:96px"
53 runat="server"Target="_blank">创建的HTML文件</asp:HyperLink>
54 <asp:TextBoxid="txtTitle"style="Z-INDEX:104;LEFT:208px;POSITION:absolute;TOP:48px"runat="server"
55 Width="352px"></asp:TextBox>
56 <asp:Labelid="Label1"style="Z-INDEX:105;LEFT:128px;POSITION:absolute;TOP:48px"runat="server">页面标题</asp:Label>
57 <asp:Labelid="Label2"style="Z-INDEX:106;LEFT:128px;POSITION:absolute;TOP:80px"runat="server">页面内容</asp:Label>
58 </form>
59</body>
60</html>
61
62
63实现代码:Dhtml.aspx.cs
64
65usingSystem;
66usingSystem.Data;
67usingSystem.Configuration;
68usingSystem.Collections;
69usingSystem.Web;
70usingSystem.Web.Security;
71usingSystem.Web.UI;
72usingSystem.Web.UI.WebControls;
73usingSystem.Web.UI.WebControls.WebParts;
74usingSystem.Web.UI.HtmlControls;
75usingSystem.Text;
76usingSystem.IO;
77
78publicpartialclassDhtml:System.Web.UI.Page
79
147vs2005.net+winserver2003sp1下调试通过
148
相关文章推荐
- 利用UrlRewrite,asp.net动态生成htm页面
- 利用UrlRewrite,asp.net动态生成htm页面
- Use Response.Filter来简体繁体转换 静态页生成. 利用UrlRewrite,asp.net动态生成htm页面
- ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- 利用JavaScript在ASP.NET中动态生成系统菜单
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明)
- 利用UrlRewrite,asp.net动态生成htm页面
- 利用UrlRewrite,asp.net动态生成htm页面
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明2)
- 利用UrlRewrite,asp.net动态生成htm页面
- 利用UrlRewrite,asp.net动态生成htm页面
- ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- 利用UrlRewrite,asp.net动态生成htm页面
- ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- 利用UrlRewrite,asp.net动态生成htm页面
- ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明2)
- 利用UrlRewrite,asp.net动态生成htm页面(补充说明)
- 利用UrlRewrite,asp.net动态生成htm页面