查看: 2141|回复: 0

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

发表于 2018-1-2 08:00:00

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

1. 使用场景

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

2. 使用静态页面的好处

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

(2)减轻服务器负担

(3)利于搜索引擎抓取

3. ASP.NET生成静态页面

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

基本思路:

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

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

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

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

4. 方法

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Text;
  6. using System.IO;
  7. /// <summary>
  8. ///ConvertHtmlPage 生成静态页面
  9. /// </summary>
  10. public class ConvertHtmlPage
  11. {
  12. /// <summary>
  13. /// 生成HTML文件
  14. /// </summary>
  15. /// <param name="templatePath">模板路径</param>
  16. /// <param name="templateName">模板名称</param>
  17. /// <param name="htmlPath">生成HTML的路径</param>
  18. /// <param name="htmlName">生成HTML的名称</param>
  19. /// <param name="format">替换的内容</param>
  20. /// <returns></returns>
  21. public static bool CreatePage(string templatePath,string templateName, string htmlPath, string htmlName,List<string> format)
  22. {
  23. try
  24. {
  25. //读取模板文件
  26. StringBuilder htmltext = new StringBuilder();
  27. using (StreamReader sr = new StreamReader(templatePath+templateName))
  28. {
  29. string line;
  30. while ((line = sr.ReadLine()) != null)
  31. {
  32. htmltext.AppendLine(line);
  33. }
  34. sr.Close();
  35. }
  36. //替换HTML中的标记内容
  37. for (int i = 0; i < format.Count; i++)
  38. {
  39. htmltext.Replace("$htmlformat[" + i + "]", format[i]);
  40. }
  41. //生成HTML文件
  42. using (StreamWriter sw = new StreamWriter(htmlPath+htmlName, false, System.Text.Encoding.GetEncoding("GB2312")))
  43. {
  44. sw.WriteLine(htmltext);
  45. sw.Flush();
  46. sw.Close();
  47. }
  48. }
  49. catch (Exception ex)
  50. {
  51. return false;
  52. }
  53. return true;
  54. }
  55. }
复制代码

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

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

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



回复

使用道具 举报