[Asp.Net]aspx页面转html

在上次的基础上,我想到一个问题,就把已经完成的页面读取出来转换成html。

我在网上找了一下资料:

方案1  

  ///   <summary>   
  ///   传入URL返回网页的html代码   
  ///   </summary>   
  ///   <param   name="Url">URL</param>   
  ///   <returns></returns>   
  public   static    string   getUrltoHtml(string   Url)   
  {   
  errorMsg   =   "";   
  try   
  {   
  System.Net.WebRequest   wReq   =   System.Net.WebRequest.Create(Url);   
  //   Get   the   response   instance.   
  System.Net.WebResponse   wResp   =wReq.GetResponse();   
  //   Read   an   HTTP-specific   property   
  //if   (wResp.GetType()   ==HttpWebResponse)   
  //{   
  //DateTime   updated    =((System.Net.HttpWebResponse)wResp).LastModified;   
  //}   
  //   Get   the   response   stream.   
  System.IO.Stream   respStream    =   wResp.GetResponseStream();   
  //   Dim   reader   As   StreamReader   =   New   StreamReader(respStream)   
  System.IO.StreamReader   reader   =   new   System.IO.StreamReader(respStream,   System.Text.Encoding.GetEncoding("gb2312"));  
  return    reader.ReadToEnd();   
   
  }   
  catch(System.Exception   ex)   
  {   
  errorMsg   =   ex.Message   ;   
  }   
  return   "";   
  }   


  
  你可以用这个函数获取网页的客户端的 html 代码,然后保存到 .html 文件里就可以了。  
  
 
方案 2  
 
生成单个的静态页面不是难点,难的是各个静态页面间的关联和链接如何保持完整;  
 
特别是在页面频繁更新、修改、或删除的情况下;  
  
 
像阿里巴巴的页面也全部是 html 的,估计用的是地址映射的功能  
 
关于地址映射可参考: http://www.easewe.com/Article/ShowArticle.aspx?article=131  
  
 
可以看看这个页面,分析一下他的 竞价倒计时 功能  
  http://info.china.alibaba.com/news/subject/v1-s5011580.html?head=top4&Bidding=home5  
  
  ASP.Net
生成静态 HTML  
 
Asp 中实现的生成静态页用到的 FileSystemObject 对象 !  
 
.Net 中涉及此类操作的是 System.IO   
 
以下是程序代码   : 此代码非原创 ! 参考别人代码  
  
    CODE:     
  //
生成 HTML  
    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;  
 -----------------------------------------------------------------------------

针对以上方案都做了一些测试

方案一:乱码 GB2312改为UTF-8

方案二:比较适合新闻主题连接

各位顶一下哈。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值