asp.net生成静态页面方法详细说明

最常用的方法从文件读取模版,替换模版中的参数后输出文件,这种方法的生成速度上比第一种要快许多,而且模版内容可以用工具任意编辑
主要代码:

using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.drawing;
using system.web;
using system.web.sessionstate;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;
using system.io;
using system.text;

namespace xinxi
{
/// <summary>
/// createpage的摘要说明。
/// </summary>
// www.111cn.net
// 此类是生成静态网页的小程序

public class create
{
  public void createpage()
  {
 
  }
  public static bool writefile(string strtext,string strcontent,string strauthor)
  {
   string path = httpcontext.current.server.mappath("/test/");//文件输出目录
   encoding code = encoding.getencoding("gb2312");
   // 读取模板文件
   string temp = httpcontext.current.server.mappath("/template/test.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;
  }
}
}

//原理是利用system.io中的类读写模板文件,然后用replace替换掉模板中的标签,写入静态html

下面看个实例

模板

<!doctype html public "-//w3c//dtd html 4.0 transitional//en" >
<html>
<head>
  <title>showarticle</title>
  <body>
biaoti
<br>
content<br>
author
</body>
</html>
biaoti
<br>
content<br>
author
</body>
</html>

c代码

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;
  }

时间: 2024-11-08 21:27:38

asp.net生成静态页面方法详细说明的相关文章

请问用ASP.NET生成静态页面.一般有几种方式.

问题描述 请问用ASP.NET生成静态页面.一般有几种方式.比如说生成内容量很大的首页.一般用哪种方法. 解决方案 解决方案二:up解决方案三:我试过3种--希望你自己动手,去博客园或在CSDN,自己找一下,关于此的文章不会少于十篇--解决方案四:我喜欢用模板作.解决方案五:路过...解决方案六:ASP.Net生成静态HTML页在Asp中实现的生成静态页用到的FileSystemObject对象!在.Net中涉及此类操作的是System.IO以下是程序代码注:此代码非原创!参考别人代码CODE:

asp.net生成静态页面怎么给静态页面的图片动态加水印

问题描述 asp.net生成静态页面怎么给静态页面的图片动态加水印 解决方案 解决方案二:通常你会有几个地方可以控制图片的加入动作比如上传图片那么加水印可以在这个时候进行对已有的图片可以进行批量处理加水印的方法ImagewaterMask=Image.FromFile("水印图片地址");Imageimg=Image.FromFile("需要加水印的图片地址");Graphicsg=Graphics.FromImage(img);g.DrawImage(waterM

ASP.NET生成静态页面

ASP.NET生成静态页面,效果图如下: 1.模板样式:   2.添加内容:   3.生成的静态页面:   实现代码: //"发表"按钮 protected void BtnPublic_Click(object sender, EventArgs e) { string title = TextBox1.Text; string body = WebEditor1.Text; string datetime = DateTime.Now.ToShortDateString(); st

技巧实例:ASP.NET生成静态页面实现方法

asp.net|技巧|静态|页面 <!--Main.Aspx--> <%@ page language="C#" %> <%@ import namespace=System.IO %> <script runat="server"> protected override void OnInit (EventArgs e) { int id; try { id = int.Parse (Request.QueryStr

Asp.net生成静态页面并分页

asp教程.net生成静态页面并分页 <!doctype html public "-//w3c//dtd html 4.01 transitional//en""http://www.w3.org/tr/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>     <meta http-equiv="conte

asp.net生成静态页面代码

asp教程.net生成静态页面代码 private static void createfile(string userid, string filename, string htmlcode)         {             filename += ".html";             string localpath = "e:/www.111cn.net/sun/sundecorativesystem/users/" + userid;    

实例详细讲解ASP生成静态页面方法

1.WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模板应熟悉下. 2.ASP转变为HTML.不要我再说ASP转变成HTML的好处了吧,其中最值得知道的就是:静态HTML页和动态页对服务器的要求承受能力小得多,同样,静态HTML搜索几率远比动态页面的多得多. 那么,我现在需要处理的技术问题就是: 1.如何实现模板技术? 2.如何实现2HTML技术? 3.如何让模板技术与2HTML技术结合? 一.先进行技术原理分

破解网站发布系统 ASP生成静态页面方法

静态|破解|页面  1.WITHTEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模板应熟悉下. 2.ASP转变为HTML.不要我再说ASP转变成HTML的好处了吧,其中最值得知道的就是:静态HTML页和动态页对的要求承受能力小得多,同样,静态HTML搜索几率远比动态页面的多得多. 那么,我现在需要处理的技术问题就是: 1.如何实现模板技术? 2.如何实现2HTML技术? 3.如何让模板技术与2HTML技术结合? 一.先进

ASP生成静态页面方法

1.WITH TEMPLET意思是,生成的页面架构将采用某个已设定的模板,在此之前我的一篇教程中介绍过,希望各位在看本教程之前对ASP采用模板应熟悉下. 2.ASP转变为HTML.不要我再说ASP转变成HTML的好处了吧,其中最值得知道的就是:静态HTML页和动态页对服务器的要求承受能力小得多,同样,静态HTML搜索几率远比动态页面的多得多. 那么,我现在需要处理的技术问题就是: 1.如何实现模板技术? 2.如何实现2HTML技术? 3.如何让模板技术与2HTML技术结合? 一.先进行技术原理分