Asp.Net模板生成HTML页面

前一阵子,一哥们问我Asp.Net怎么根据模板生成HTML静态页面?

一、生成HTML好处

  1. HTML都静态化了,不用说,速度肯定是更快的(不用读取数据库能不快吗)
  2. 更加的安全,脱离了数据库,防止了sql注入等等。
  3. 更利于SEO,HTML页面更加容易被收录到,这点对站长朋友来说,可能更关心。

二、Asp.Net生成HTML实现方法

干货直接上代码:

public static bool WriteFile(string strText,string strContent,string strAuthor) 
   {
    string path = HttpContext.Current.Server.MapPath("/news/");
    Encoding code = Encoding.GetEncoding("gb2312");
    // 读取模板文件
   string temp = HttpContext.Current.Server.MapPath("/news/text.html");
    StreamReader sr=null;
    StreamWriter sw=null;
    string str="";  
    try
    {
     sr = new StreamReader(temp, code);
     str = sr.ReadToEnd(); // 读取文件
   }
    catch(Exception exp)
    {
     HttpContext.Current.Response.Write(exp.Message);
     HttpContext.Current.Response.End();
     sr.Close();
    }
   
    
    string htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
    // 替换内容
   // 这时,模板文件已经读入到名称为str的变量中了
   str =str.Replace("ShowArticle",strText); //模板页中的ShowArticle
    str = str.Replace("biaoti",strText);
    str = str.Replace("content",strContent);
    str = str.Replace("author",strAuthor);
    // 写文件
   try
    {
     sw = new StreamWriter(path + htmlfilename , false, code);
     sw.Write(str);
     sw.Flush();
    }
    catch(Exception ex)
    {
     HttpContext.Current.Response.Write(ex.Message);
     HttpContext.Current.Response.End();
    }
    finally
    {
     sw.Close();
    }
    return true;

}来源:http://www.csaspx.com/articlelist-6566.html
时间: 2024-08-10 21:26:56

Asp.Net模板生成HTML页面的相关文章

html模板生成静态页面及模板分页处理

它只让你修改页面的某一部分,当然这“某一部分”是由你来确定的.美工先做好一个页面,然后我们把这个页面当作模板(要注意的是这个模板就没必要使用EditRegion3这样的代码了,这种代码是Dreamwerver为了方便自己设计而弄的标识),把这个模板中我们需要改变的地方用一个与HTML可以区分的字符代替,如“{title}”.“[title]”.在生成静态页面的时候只需要把数据和这些字符串替换即可.这就是模板的含义了. 新建一个php页面和一个html页面[模板页];注:如果是从数据库调用数据,则

ASP.NET MVC生成静态页面

1.先付上封装好生成静态页的原代码: public class Common { #region 获取模板页的Html代码 /// <summary> /// 获取页面的Html代码 /// </summary> /// <param name="url">模板页面路径</param> /// <param name="encoding">页面编码</param> /// <returns

html-webpack-plugin插件 根据模板生成多页面

1.项目目录结构为: 2.webpack.config.js配置文件为: var htmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { //打包入口 entry: { main: './src/js/main.js', a: './src/js/a.js', b: './src/js/b.js', c: './src/js/c.js' }, //打包后的文件 output: { //不加__dirname 会

NET MVC RazorEngine 解析模板生成静态页

ASP.NET MVC 解析模板生成静态页一(RazorEngine) 简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法与.NET Framework 结合,广泛应用于ASP.NET MVC 项目. 我们在很多项目开发中会常常用到页面静态化,页面静态化有许多方式,最常见的就是类似很多PHP CMS种使用的 标签替换的方式(如:帝国CMS.EcSh

PHP生成静态页面的方法

在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存等实现页面静态化,今天就以PHP实例教程形式讨论PHP生成静态页面的方法...."><LINKhref="http://www.php100.com//statics/st 在PHP网站开发中为了网站推广和SEO等需要,需要对网站进行全站或局部静态化处理,PHP生成静态HTML页面有多种方法,比如利用PHP模板.缓存等实现页面静态化

Java项目生成静态页面

第一次做项目需要生成静态页面,网上很多大牛对将网页生成静态页面有很多异议.说一下我的看法. 不外乎有以下因素: 1.从页面加载时间来看:静态页面不需要与数据库建立连接,尤其是访问数据量较大的页面,这种页面大多要查很多结果集,因此建立连接次数就增多了,时间不可观,而静态页面则省去了这些时间. 2.从便于搜索引擎抓取的角度来讲:搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高,一些大门户站页面大多都采用静态或伪静态网页来显示,更便于搜索引

浅谈php生成静态页面

一.引 言 在速度上,静态页面要比动态页面的比方php快很多,这是毫无疑问的,但是由于静态页面的灵活性较差,如果不借助数据库或其他的设备保存相关信息的话,整体的管理上比较繁琐,比方修改编辑.比方阅读权限限制等,但是,对应一些我们经常频频使用的文件,比方说,开发的新闻发布系统,我们不希望很多用户都读取数据库才显示结果,这样一方面消耗了服务器的资源,另一方面占去了浏览者大量可贵的响应时间,所有,有了"静态页面话"的做法,当前很多网站都采用这种技术,一般都是由管理后台控制,或者生成html直

asp .net 模板引擎 使用 Razor 生成html静态页面

刚开始不是理解 写完之后 觉得还蛮简单的 分为这几个步骤 1.获取页面模板Html 2.获取数据 3.解析模板和数据,生成静态页Html代码 4.生成静态文件 模板形式是mvc的模式,会mvc 看一下就懂了 主要是第2步和第3步 需要应用下面文件 RazorEngine.dll System.Web.Razor.dll /// <summary> /// 获取页面的Html代码 /// </summary> /// <param name="url">

创建基于ASP.NET core 3.1 的RazorPagesMovie项目(二)-应用模型类配合基架生成工具生成Razor页面

本节中,将学习添加用于管理跨平台的SQLLite数据库中的电影的类Movie.从ASP.NET core 模板创建的应用使用SQLLite数据库. 应用模型类(Movie)配合Entity Framework core(简称EF core,这是一种对象关系映射框架(ORM),它可以简化数据访问)使用,以处理数据库 模型类称为POCO类,因为它们与EF Core 没有任何依赖关系.它定义了数据库中存储的数据属性. 一.添加数据模型“Movie” 1.右键单击“RazorPagesMovie”项目>