Joe*_*gan 40 .net html browser
在我的vb.net程序中,我使用webbrowser向用户显示HTML预览.我以前在服务器上抓取HTML,然后返回异步线程并引发事件以使用我返回的HTML字符串填充WebBrowser.DocumentText.
现在我将其设置为获取客户端上的所有信息,而不必访问服务器,我正在尝试提升相同的事件.我看着代码经过,它有正确的HTML字符串和一切,但当我尝试做
browser.DocumentText = _emailHTML
Run Code Online (Sandbox Code Playgroud)
DocumentText的内容仍为" <HTML></HTML>
"
我只是想知道为什么没有设置DocumentText.有人有什么建议吗?
Dav*_*dro 55
请尝试以下方法:
browser.Navigate("about:blank");
HtmlDocument doc = browser.Document;
doc.Write(String.Empty);
browser.DocumentText = _emailHTML;
Run Code Online (Sandbox Code Playgroud)
我发现WebBrowser
控件通常需要初始化为about:blank
.导航到不同类型的内容(例如text/xml到text/html)之间也需要做同样的事情,因为渲染器是不同的(mshtml用于text/html,其他用于text/xml).
(来自http://geekswithblogs.net/paulwhitblog/archive/2005/12/12/62961.aspx)
小智 34
我发现了以下内容并且有效!
webBrowser.Navigate("about:blank");
webBrowser.Document.OpenNew(false);
webBrowser.Document.Write(html);
webBrowser.Refresh();
Run Code Online (Sandbox Code Playgroud)
小智 11
我找到了解决这个问题的最佳方法,如下:
if (this.webBrowser1.Document == null)
{
this.webBrowser1.DocumentText = htmlSource;
}
else
{
this.webBrowser1.Document.OpenNew(true);
this.webBrowser1.Document.Write(htmlSource);
}
Run Code Online (Sandbox Code Playgroud)