ASP.NET生成静态页面

来源:互联网 发布:剑三成男天策捏脸数据 编辑:程序博客网 时间:2024/06/03 17:56

 第一种方法:向服务器的动态页面发送请求,获取页面的html代码。这种方法缺点显而易见:速度慢。另外如果请求的动态页面有验证控件的话,返回的html页面却无法进行数据验证。但这种方法写起来比较简单。主要代码如下:

 

第二种方法:从文件读取模版,替换模版中的参数后输出文件,这种方法的生成速度上比第一种要快许多,而且模版内容可以用工具任意编辑
主要代码:

 

 

第三种方法:如果生成的文件数量比较多,第二种方法就要反复读取模版内容,这时可以用第三种方法——直接将你的模版写在代码中:

 

 

三种方法比较起来生成速度由慢到快,易操作性则由简到繁。还请根据实际情况选择合适的方法。

 

[  收  集  ] :

 

 

 

使用ASP.NET生成静态页面的方法有两种,第一种是使用C#在后台硬编码,第二种是读取模板文件,使用字符串替换的方法。第一种方法编码量大,而且维护比较困难。我重点讲解第二种方法。第二种方法的基本思路是:使用DW之类的工具生成一个静态页面模板。读取该模板文件,然后对里面的特殊标记使用真实的数据替换掉,并生成一个HTML文件  请看代码 

1.C# 

 


 

 

 

private int GetConfig(String dirName, String tag) 此方法用于读取配置文件(见后),主要是获得要替换的字符串的个数,在本类同体现为一个字符串数组 
public void MakeHtml(String configFileName, String configTag, String dir, String templateFile, String[] param) 此方法用于生成静态页面 
 51.52 行创建一个字符数组,数组长度为配置文件中的节点个数。55-58行读取模板文件,并用读到的模板文件的HTML代码生成一个StringBuilder 对象。59-62行使用StringBuilderd对象的repalce()方法替换标记“$repalce[i]$"为真实的数据 
 64行生成一个唯一的文件名(防止覆盖)66-70行把新的字符串写到文件中。这样就生成了一个静态文件了。 
 下面看一个使用的实例: 
 一个文章管理系统,利用这个类来生成静态页面。 
 首先,建立一个配置文件 config.xml.此文件告诉使用者每个标记的含义。如下

 

 

 

这样配置后,类会把标记数组0,1,2,3的位置分别替换为题目,作者,内容,发布日期。 
看模板文件

 

 

使用方法:

 

 

只要把相应的参数修改为实际的值,就生成静态文件了。