WebBrowser控件的WebResponse流
本文关键字:WebResponse 控件 WebBrowser | 更新日期: 2023-09-27 18:24:07
我有一个C#WebResponse流,看起来像这样:
<script language=JavaScript>
document.write('<head>');
document.write('<title> Testing </title>');
document.write('</head>');
</script>
我想把它放在WebBrowser控件中,我该怎么做?WebBrowser1.DocumentStream=流;什么都不做。。。
我在做什么:
WebResponse response = request.GetResponse();
stream = response.GetResponseStream();
WebBrowser WebBrowserResponse = new WebBrowser();
WebBrowserResponse.DocumentStream = stream;
Console.WriteLine(WebBrowserResponse.DocumentText);
这不起作用。
答案是(我还不能回答我自己的问题)谢谢大家:
string s = sr.ReadToEnd();
WebBrowserResponse.Navigate("about:blank");
WebBrowserResponse.Document.OpenNew(false);
WebBrowserResponse.Document.Write(s);
WebBrowserResponse.Refresh();
WebBrowserResponse.DocumentCompleted += (sndr, ex) =>
{
Console.WriteLine(WebBrowserResponse.DocumentText);
};
您试图在将流分配给浏览器后立即获取内容。您应该等待DocumentCompleted
事件。
试试这个:
webBrowser1.DocumentCompleted += (sndr, e) =>
{
Console.WriteLine(webBrowser1.DocumentText);
};
BTW:您将流分配给WebBrowser1
,但从WebBrowserResponse
读取
string s = sr.ReadToEnd();
WebBrowserResponse.Navigate("about:blank");
WebBrowserResponse.Document.OpenNew(false);
WebBrowserResponse.Document.Write(s);
WebBrowserResponse.Refresh();
WebBrowserResponse.DocumentCompleted += (sndr, ex) =>
{
Console.WriteLine(WebBrowserResponse.DocumentText);
};
谢谢大家!