代码:

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks; namespace Framework.Common
{
public class StaticPage
{
/// <summary>
/// html模板地址
/// </summary>
public string TemplateUrl { get; set; }
/// <summary>
/// 生成html保存地址
/// </summary>
public string DestinationUrl { get; set; }
/// <summary>
/// 要替换的键值对
/// </summary>
public Hashtable KValues { get; set; } public StaticPage() { }
public StaticPage(string templateUrl, string destinationUrl, Hashtable kValues)
{
this.TemplateUrl = templateUrl;
this.DestinationUrl = destinationUrl;
this.KValues = kValues;
} public bool Save()
{
bool _isOk = false;
WebResponse response = WebRequest.Create(TemplateUrl).GetResponse();
using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8))
{
string tempContent = reader.ReadToEnd();
foreach (string item in KValues.Keys)
{
tempContent = tempContent.Replace("{" + item.ToString() + "}", KValues[item].ToString());
}
using (StreamWriter write = new StreamWriter(DestinationUrl, false, System.Text.Encoding.UTF8))
{
write.Write(tempContent);
write.Flush();
write.Close();
_isOk = true;
}
}
return _isOk;
}
}
}

使用:

Models.OfficialStoryInfo item = OfficialStoryInfoBLL.GetEntity(id);
string tempUrl = HttpContext.Current.Server.MapPath("~/temp/officialstory.txt");
string destUrl = HttpContext.Current.Server.MapPath("~/html/OfficialStory/" + item.ID + ".html");
System.Collections.Hashtable ht = new System.Collections.Hashtable();
ht.Add("title", item.Name);
ht.Add("contents", item.Description);
bool isok = new Common.StaticPage() { DestinationUrl = destUrl, KValues = ht, TemplateUrl = tempUrl }.Save();

生成静态页html的更多相关文章

  1. ASP.NET MVC 解析模板生成静态页一(RazorEngine)

    简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是ASPX模板引擎,Razor在语法上的确不错,用起来非常方便,简洁的语法 ...

  2. 基于PHP生成静态页的实现方法

    t1.php 复制代码 代码如下: <?php// 方法一根据模版生成静态页面// replaceTemplateString函数用于替换模板中指定字符串function replaceTemp ...

  3. 生成静态页面的PHP类

    生成静态页面的PHP类: 复制代码代码如下: <?php   class html   {    var $dir; //dir for the htmls(without/)    var $ ...

  4. mvc分页生成静态页,mvc生成静态页

    http://blog.csdn.net/xxj_jing/article/details/7899125 分页生成静态页 http://www.cnblogs.com/luanyilin/archi ...

  5. C# 用模板生成静态页

    最近在研究静态页输出的问题,找了一些资料.做了一个简单的模板模式的静态输出 模板代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...

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

    ASP.NET MVC 解析模板生成静态页一(RazorEngine) 简述 Razor是ASP.NET MVC 3中新加入的技术,以作为ASPX引擎的一个新的替代项.在早期的MVC版本中默认使用的是 ...

  7. tp 生成静态页

    $this->fetch()返回的是html 可以直接写入到HTML文件内生成静态页

  8. dedesmc 手机端生成静态页

    dedesmc 手机端生成静态页 1.首先下载插件,下载地址:https://pan.baidu.com/s/1Nfx_KBYuxRkZ7VzoPxy28g 密码:83x7 2.进入 dedecms ...

  9. ThinkPHP生成静态页buildHtml方法

    原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下. PHP 1 2 3 4 5 6 7 8 9 10 11     protect ...

  10. ASP.NET MVC 利用Razor引擎生成静态页

    实现原理及步骤: 1.通过ViewEngines.Engines.FindView查找到对应的视图,如果是部分视图,则用:ViewEngines.Engines.FindPartialView: 2. ...

随机推荐

  1. Process Pool实现Python的并行执行

    参考:Python3.6.2文档 Source code: Lib/concurrent/futures/thread.py and Lib/concurrent/futures/process.py ...

  2. Vue基础知识之组件及组件之间的数据传递(五)

    vue中的组件是自定的标签,可以扩展的原生html元素,封装可复用的代码 note: 1.在标签命中不要使用大写,标签名字必须用短横线隔开 2.模板中只能有一个根元素,不能使用并列标签. 定义组件 全 ...

  3. 了解vue

    什么是Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 状态,其实指的是实例之间的 ...

  4. SQL函数汇总(MySQL教材)

    1.SQL重复记录查询的几种方法 https://www.cnblogs.com/firstdream/p/5826238.html 2.SQL两列字段,合并为一个字符串,中间加符号 https:// ...

  5. 0_Simple__simpleLayeredTexture

    二维分层纹理 ▶ 源代码.用纹理方法把元素按原顺序从 CUDA3D 数组中取出来,求个相反数再加上层数放入全局内存,输出. #include <stdio.h> #include &quo ...

  6. jsp 回车代替tab 自动切换text焦点

    方法一keyCode (IE11以后失效) <html> <head> <meta http-equiv="Content-Type" content ...

  7. JPQL和SQL的比较

    前言 在JAVA EE中,JPQL是专门为Java 应用程序访问和导航实体实例设计的.Java Presistence Query Language(JPQL),java持久性查询语言.它是JPA规范 ...

  8. Python之风湿理论值函数即变量

    一,风湿历练:函数即变量,这样执行程序是不会报错的 def foo(): print ("from foo") bar() def bar(): print "form ...

  9. H5 缓存机制解析

    在web项目开发中,我们可能都曾碰到过这样一个棘手的问题: 线上项目需要更新一个有问题的资源(可能是图片,js,css,json数据等),这个资源已经发布了很长一段时间,为什么页面在浏览器里打开还是没 ...

  10. python 文件移动

    python实现文件移动: import shutil shutil.move("original_path", "new_folder") # move fi ...