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

 1ASP.NET生成静态页面的方法using System;
 2ASP.NET生成静态页面的方法using System.Collections.Generic;
 3ASP.NET生成静态页面的方法using System.Text;
 4ASP.NET生成静态页面的方法using System.Xml;
 5ASP.NET生成静态页面的方法using System.IO;
 6ASP.NET生成静态页面的方法
 7ASP.NET生成静态页面的方法namespace htmlWeb
 8

  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.此文件告诉使用者每个标记的含义。如下
 1ASP.NET生成静态页面的方法<?xml version="1.0" encoding="utf-8" ?>
 2ASP.NET生成静态页面的方法<htmlWeb version="1">
 3ASP.NET生成静态页面的方法  <config>
 4ASP.NET生成静态页面的方法    <article key="0" value="title"/>
 5ASP.NET生成静态页面的方法    <article key="1" value="author"/>
 6ASP.NET生成静态页面的方法    <article key="2" value="context"/>
 7ASP.NET生成静态页面的方法    <aritcle key="3" value="date"/>
 8ASP.NET生成静态页面的方法  </config>
 9ASP.NET生成静态页面的方法</htmlWeb> 
10ASP.NET生成静态页面的方法
这样配置后,类会把标记数组0,1,2,3的位置分别替换为题目,作者,内容,发布日期。
看模板文件
 1ASP.NET生成静态页面的方法<head>
 2ASP.NET生成静态页面的方法<title>模板文件</title>
 3ASP.NET生成静态页面的方法</head>
 4ASP.NET生成静态页面的方法<body>
 5ASP.NET生成静态页面的方法<h1>这是一个简单的HTML页,朋友们可以根据自己的需要重新设计</h1>
 6ASP.NET生成静态页面的方法<li>标题:$replace[0]$</li>
 7ASP.NET生成静态页面的方法<li>作者:$replace[1]$</li>
 8ASP.NET生成静态页面的方法<li>内容:$repalce[2]$</li>
 9ASP.NET生成静态页面的方法<li>时间:$repalce[3]$</li>
10ASP.NET生成静态页面的方法</body>
使用方法:
 1ASP.NET生成静态页面的方法using System;
 2ASP.NET生成静态页面的方法using System.Data;
 3ASP.NET生成静态页面的方法using System.Configuration;
 4ASP.NET生成静态页面的方法using System.Web;
 5ASP.NET生成静态页面的方法using System.Web.Security;
 6ASP.NET生成静态页面的方法using System.Web.UI;
 7ASP.NET生成静态页面的方法using System.Web.UI.WebControls;
 8ASP.NET生成静态页面的方法using System.Web.UI.WebControls.WebParts;
 9ASP.NET生成静态页面的方法using System.Web.UI.HtmlControls;
10ASP.NET生成静态页面的方法
11ASP.NET生成静态页面的方法namespace UseT
12
朋友们只要把相应的参数修改为实际的值,就生成静态文件了。

相关文章: