当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Asp.net生成htm静态文件的两种途径

ASP.NET
AspNetPager与Socut.Data使用方法
asp.net UpdaeProgress的简单用法
asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
asp.net 简易生成注册码(数字+大小写字母)
asp.net中利用ashx实现图片防盗链代码
ASP.NET程序中常用代码汇总
ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
ASP.NET Ajax级联DropDownList实现代码
ASP.NET 2.0写无限级下拉菜单
asp.net Web Services上传和下载文件(完整代码)
asp.net DataGrid控件中弹出详细信息窗口
Asp.NET 多层登陆实现代码
利用Asp.Net回调机制实现进度条
ASP.NET Ref和Out关键字区别分析
Javascript调用Webservice的多种方法
.Net下的签名与混淆图文分析
.Net Compact Framework开发小技巧 推荐
.Net连接Oracle数据库的实现代码
js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
asp.net下 jquery jason 高效传输数据

ASP.NET 中的 Asp.net生成htm静态文件的两种途径


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 178 ::
收藏到网摘: n/a

现在很多网站特别是资讯类的都把内容生成静态页(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文件,仅供大家参考,也希望有其他生成方式的也讨论一下(部分源码搜集于网络)