惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Webroot Blog
Webroot Blog
U
Unit 42
A
About on SuperTechFans
宝玉的分享
宝玉的分享
月光博客
月光博客
C
CERT Recently Published Vulnerability Notes
P
Privacy International News Feed
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
P
Privacy & Cybersecurity Law Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Spread Privacy
Spread Privacy
L
Lohrmann on Cybersecurity
Apple Machine Learning Research
Apple Machine Learning Research
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
Intezer
Last Week in AI
Last Week in AI
T
Threat Research - Cisco Blogs
V
V2EX
L
LangChain Blog
AI
AI
G
GRAHAM CLULEY
T
Tor Project blog
人人都是产品经理
人人都是产品经理
D
Docker
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
I
InfoQ
Y
Y Combinator Blog
C
Comments on: Blog
GbyAI
GbyAI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
N
News and Events Feed by Topic
MyScale Blog
MyScale Blog
H
Help Net Security
Vercel News
Vercel News
T
Tenable Blog
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿

博客园 - Jerry.liu

AspNetPager分页控件--使用方法 2 AspNetPager分页控件--使用方法 1 分析ASP.NET服务器控件开发-控件生命周期 用ObjectDataSource实现自定义分页的心得总结 DataTable操作中的性能问题 ASP.NET的 Session 详解4 ASP.NET的 Session 详解3 ASP.NET的 Session 详解2 ASP.NET的 Session 详解1 ASP.NET的 MVC框架 全面优化ADO ADO.net学习纪录 (二) ADO.net学习记录 (一) 彻底放弃IIS让Apache也支持ASP.NET 如何实现Asp与Asp.Net共享Session ASP.NET2.0的控件状态和视图状态探讨 2 ASP.NET2.0的控件状态和视图状态探讨 1 压力监测程序sqlserver和MYSQL版 PetShop数据访问层之数据库访问设计
Asp.net生成htm静态文件的两种途径
Jerry.liu · 2007-05-24 · via 博客园 - Jerry.liu

现在很多网站特别是资讯类的都把内容生成静态页(htm\html\shtml等),这类总结了一下两种生成静态页的方法并做了一个Demo文件供大家下载。
  
  分别是通过模板(比较常用)和根据url生成(不到万部则以不用,因为这中方式只能获取html的部分):
  
  Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。
  
  通过收入内容替换模板或者url地址两种方式进行静态文件的生成
  
  templete.htm为模板文件,htm为生成后的静态文件保存位置
  
  这类粘贴出.cs文件
  
   1 //51aspx.com生成静态页演示文件,转载请保留该信息
   2 public partial class _Default : System.Web.UI.Page
   3 {
   4 protected void Page_Load(object sender, EventArgs e)
   5 {
   6
   7 }
   8
   9 //根据模板生成,保持在html文件夹中(部分源码搜集于网络)
   10 protected void Button1_Click(object sender, EventArgs e)
   11 {
   12 //源码是替换掉模板中的特征字符
   13
   14 string mbPath =Server.MapPath("template.htm");
   15 Encoding code = Encoding.GetEncoding("gb2312");
   16 StreamReader sr = null;
   17 StreamWriter sw = null;
   18 string str = null;
   19
   20 //读取
   21 try
   22 {
   23 sr = new StreamReader(mbPath, code);
   24 str = sr.ReadToEnd();
   25
   26 }
   27 catch (Exception ex)
   28 {
   29 throw ex;
   30 }
   31 finally
   32 {
   33 sr.Close();
   34 }
   35
   36 //根据时间自动重命名,扩展名也可以自行修改
   37 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
   38 str = str.Replace("$title$", txtTitle.Text);//替换Title
   39 str = str.Replace("$content$", txtContent.Text);//替换content
   40
   41 //生成静态文件
   42 try
   43 {
   44 sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
   45 sw.Write(str);
   46 sw.Flush();
   47
   48 }
   49 catch (Exception ex)
   50 {
   51 throw ex;
   52 }
   53 finally
   54 {
   55 sw.Close();
   56 Response.Write("恭喜<a href=htm/"+fileName+" target=_blank>"+fileName+"</a>已经生成,保存在htm文件夹下!");
   57 }
   58
   59
   60 }
   61
   62
   63 //根据Url地址生成静态页保持
   64 protected void Button2_Click(object sender, EventArgs e)
   65 {
   66 Encoding code = Encoding.GetEncoding("utf-8");
   67 StreamReader sr = null;
   68 StreamWriter sw = null;
   69 string str = null;
   70
   71 //读取远程路径
   72 WebRequest temp = WebRequest.Create(txtUrl.Text.Trim());
   73 WebResponse myTemp = temp.GetResponse();
   74 sr = new StreamReader(myTemp.GetResponseStream(), code);
   75 //读取
   76 try
   77 {
   78 sr = new StreamReader(myTemp.GetResponseStream(), code);
   79 str = sr.ReadToEnd();
   80
   81 }
   82 catch (Exception ex)
   83 {
   84 throw ex;
   85 }
   86 finally
   87 {
   88 sr.Close();
   89 }
   90 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
   91
   92 //写入
   93 try
   94 {
   95 sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code);
   96 sw.Write(str);
   97 sw.Flush();
   98
   99 }
  100 catch (Exception ex)
  101 {
  102 throw ex;
  103 }
  104 finally
  105 {
  106 sw.Close();
  107 Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!");
  108 }
  109
  110 }
  111 }
  只是一个Demo文件,仅供大家参考,也希望有其他生成方式的也讨论一下(部分源码搜集于网络)