通过c#或jquery ajax完成页面html

时间:2013-10-09 08:04:44

标签: jquery html asp.net ajax

Asp.net,Jquery和Ajax是否有办法捕获当前页面的HTML和电子邮件或保存它。我有一个动态生成的输入量的页面,并且有很多。我想做的是在填写完成后通过电子邮件发送表格的完整html。有没有办法做到这一点。我有一个web服务,它通过ajax传递数据,但它处理大于和小于符号和引号等问题。关键是要有一个很好的可读副本,无论他们在屏幕上输入什么。 html电子邮件是客户想要的方式。谢谢!

这也可以直接在后面的代码中,但我无法找到一种方法来做客户端不回发的服务器端。

我在firebug中收到的错误是“消息”:“无效的对象传入,\ u0027:\ u0027或\ u0027} \ u0027预期。

1 个答案:

答案 0 :(得分:0)

  

处理大于和小于符号的问题   和引用等。

您应该尝试HttpUtility.HtmlDecode以解决该问题。

对于其他人,你应该试试这个(source):

private void SaveWebPage_as_HTML()
{
    // Initialize the WebRequest.
    string urlToConvert = (System.Web.HttpContext.Current.Request.Url).ToStr ing();
    WebRequest myRequest = WebRequest.Create(urlToConvert);
    // 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, true, 255);

    // Read 256 charcters at a time. 
    Char[] read = new Char[256];
    int count = readStream.Read(read, 0, 256);
    using (StreamWriter sw = new StreamWriter("output.html"))
    {
        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();
}

密切注意所使用的编码(这里是utf-8),因为这可能会导致“可读性”问题。