zoukankan      html  css  js  c++  java
  • (转)Asp.net生成htm静态文件的两种途径

    原文地址:http://www.cnblogs.com/LYunF/archive/2012/02/17/2356514.html

    导读] 现在很多网站特别是资讯类的都把内容生成静态页(htm\html\shtml等),这类总结了一下两种生成静态页的方法并做了一个Demo文件供大家下载。分别是通过模板(比较常用)和根据url生成(不到万部则以不用,因为这中方式只能获取html的部分):Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。通





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

  • 相关阅读:
    MS CRM 2011 RC中的新特性(4)——活动方面之批量编辑、自定义活动
    最近的一些有关MS CRM 2011的更新
    MS CRM 2011 RC中的新特性(6)——连接
    MS CRM 2011 RC中的新特性(7)—仪表板
    参加MS CRM2011深度培训课程——第一天
    MS CRM 2011插件调试工具
    MS CRM2011实体介绍(四)——目标管理方面的实体
    MS CRM 2011 RC中的新特性(3)——客户服务管理方面
    MS CRM 2011 RC中的新特性(8)—数据管理
    ExtAspNet 登陆
  • 原文地址:https://www.cnblogs.com/fcsh820/p/2360797.html
Copyright © 2011-2022 走看看