如何获取本页的HTML,并存入文本文件中?

解决方案 »

  1.   

    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 menutest
    {
     /// <summary>
     /// Conn 的摘要说明。
     /// </summary>
     // by kyo
     // 此类是生成静态网页的小程序  
     public class Conn
     {
      public Conn()
      {
      
      }
      public static bool WriteFile(string strText,string strContent,string strAuthor)
      {
       string path = HttpContext.Current.Server.MapPath("/menutest/");
       Encoding code = Encoding.GetEncoding("gb2312");
       // 读取模板文件
       string temp = HttpContext.Current.Server.MapPath("/menutest/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";
       string htmlfilename="kyo.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.
     
      
      

  2.   

    这是读取其他页面,我是想了解如何获取本页的HTML
      

  3.   

    鼠标右键,查看源代码LOAD阶段是在页面呈现阶段的前面好像不能实现吧
    不过在LOAD阶段前面,控件树已经生成了,可能要对底层的代码要很了解,才可以做的到
      

  4.   

    我查资料知道通过以下可以获取本页的HTML,但是我不知道怎么调用,然后保存成.HTMLprotected override void Render( HtmlTextWriter writer )
    {
         StringWriter sw = new StringWriter();
         HtmlTextWriter op = new HtmlTextWriter(sw);
         base.Render(op);     string strHtml = sw.GetStringBuilder().ToString();     //获取页面html代码
         ......
    }