本文实例讲述了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程序设计有所帮助。
一、字节一面 2021.3.28 不是按顺序写的最后一个是代码题 1、自我介绍 2、项目介...
app测试知识点adb命令日志安卓和苹果查看软件后缀专项测试等 软件后缀名 常用adb...
Spring MVC自定义日期类型转换器实例详解 WEB层采用Spring MVC框架,将查询到的...
客户端页:client.html 复制代码 代码如下: script //jquery的post $.post ( 'ser...
Ajax 简介 Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写)。现在...
今天,这篇文章列举了圆形元素在网页设计中应用得非常好的例子,向您展示美丽的...
ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的。 让测试就发现问题了,IE8...
为物联网解决方案选择正确的数据库平台是一项艰巨的任务。首先,物联网解决方案...
搭建lvs keepalivd DR模式双机热备基础与高可用群集 这里只说keepalivd 软件的原...
一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分...