欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】

程序员文章站 2023-02-15 20:19:13
本文实例讲述了asp.net编程简单实现生成静态页面的方法。分享给大家供大家参考,具体如下: 1. 使用场景 当页面的数据不需要经常更改时可采用静态页面方式。 2....

本文实例讲述了asp.net编程简单实现生成静态页面的方法。分享给大家供大家参考,具体如下:

1. 使用场景

当页面的数据不需要经常更改时可采用静态页面方式。

2. 使用静态页面的好处

(1)提高网站的访问速度

(2)减轻服务器负担

(3)利于搜索引擎抓取

3. asp.net生成静态页面

生成静态页面方法有很多种,先说下我使用的其中的一种。参考资料

基本思路:

(1)创建模板template.html文件,在里面定义一些特殊的字符串格式用于替换内容,如$htmlformat

(2)读取模板,赋值到stringbuilder对象中

(3)将特殊的字符串格式替换为你想要的内容

(4)创建新的静态页面,并将stringbuilder对象写入到文件中即可

4. 方法

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.text;
using system.io;
/// <summary>
///converthtmlpage 生成静态页面
/// </summary>
public class converthtmlpage
{
  /// <summary>
  /// 生成html文件
  /// </summary>
  /// <param name="templatepath">模板路径</param>
  /// <param name="templatename">模板名称</param>
  /// <param name="htmlpath">生成html的路径</param>
  /// <param name="htmlname">生成html的名称</param>
  /// <param name="format">替换的内容</param>
  /// <returns></returns>
  public static bool createpage(string templatepath,string templatename, string htmlpath, string htmlname,list<string> format)
  {
    try
    {
      //读取模板文件
      stringbuilder htmltext = new stringbuilder();
      using (streamreader sr = new streamreader(templatepath+templatename))
      {
        string line;
        while ((line = sr.readline()) != null)
        {
          htmltext.appendline(line);
        }
        sr.close();
      }
      //替换html中的标记内容
      for (int i = 0; i < format.count; i++)
      {
        htmltext.replace("$htmlformat[" + i + "]", format[i]);
      }
      //生成html文件
      using (streamwriter sw = new streamwriter(htmlpath+htmlname, false, system.text.encoding.getencoding("gb2312")))
      {
        sw.writeline(htmltext);
        sw.flush();
        sw.close();
      }
    }
    catch (exception ex)
    {
      return false;
    }
    return true;
  }
}

附:demo实例点击此处本站下载

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net文件操作技巧汇总》、《asp.net操作json技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作xml技巧总结》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。