如何将当前的aspx页面保存为html

Dr.*_*len 8 html c# asp.net

请告诉我如何在按钮点击时将当前页面保存为html页面.我的页面仅包含我在页面加载事件中填写的标签.

我正在使用下面的代码,但它没有保存(在HTML中)我加载页面时看到的所有值(我认为它会在页面上加载值之前进行转换).

private void saveCurrentAspxToHTML()
{
    string HTMLfile = "http://localhost:4997/MEA5/AEPRINT.aspx?id=" +
                      Convert.ToString(frmae.AeEventid) +
                      "&eid=" +
                      Convert.ToString(frmae.AeEnquiryid);

    WebRequest myRequest = WebRequest.Create(HTMLfile);

    // Return the response.
    WebResponse myResponse = myRequest.GetResponse();

    // Obtain a 'Stream' object associated with the response object.
    Stream ReceiveStream = myResponse.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");

    // Pipe the stream to a higher level stream reader with the required encoding format. 
    StreamReader readStream = new StreamReader(ReceiveStream, encode);

    // Read 256 charcters at a time.
    Char[] read = new Char[256];
    int count = readStream.Read(read, 0, 256);

    using (StreamWriter sw = new StreamWriter(Server.MapPath("~") + "\\MyPage.htm"))
    {
        while (count > 0)
        {
            // Dump the 256 characters on a string and display the string onto the console.
            String str = new String(read, 0, count);
            sw.Write(str);
            count = readStream.Read(read, 0, 256);
        }
    }

    // Close the response to free resources.
    myResponse.Close();

}
Run Code Online (Sandbox Code Playgroud)

请帮我!

小智 5

我对实际代码有些粗略。但是前一阵子我做了类似的事情。我使用StringWriter将aspx的内容写入html字符串。

  StringWriter sw = new StringWriter();
  HtmlTextWriter w = new HtmlTextWriter(sw);
  divForm.RenderControl(w);
  string s = sw.GetStringBuilder().ToString();
Run Code Online (Sandbox Code Playgroud)

然后,基本上,您只需要将其写入字符串文件并将其另存为HTML扩展名即可。

System.IO.File.WriteAllText(@"C:\yoursite.htm", s);
Run Code Online (Sandbox Code Playgroud)