将内存文本加载到WebBrowser控件中

时间:2008-09-29 18:31:04

标签: .net controls

在.Net WebBrowser控件上,我可以看到加载页面的唯一方法是设置URL属性。但我想给它一些我已经在内存中的HTML代码,而不是先将它写入文件。有没有办法做到这一点?或者是否有任何控件可以做到这一点?

3 个答案:

答案 0 :(得分:15)

你想要DocumentText属性:

http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx

来自http://www.codeguru.com/forum/showpost.php?p=1691329&postcount=9

: 你也应该提供一些东西:

  • 不要在构造函数中设置DocumentText。使用Form_Load或您自己的方法。 如果在构造函数中设置DocumentText,则无法在应用程序的任何位置再次设置它。请务必检查表单设计器是否未设置它。

  • 每次方法调用只能设置一次DocumentText。这很奇怪,很可能是一个错误,但这是真的。 例如:在for循环中设置DocumentText只能在循环的第一次迭代中正确设置。 但是,您可以创建一个小方法将DocumentText设置为传入的字符串,然后在for循环中调用此方法。

答案 1 :(得分:2)

您可以使用WebBrowser.DeocumentText(http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documenttext.aspx)或WebBrowser.DocumentStream(http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.documentstream.aspx)来更改当前文档中的HTML。如果您没有文档,则可能需要导航到about:blank。

答案 2 :(得分:0)

此外,通常,在任何可以使用Stream的地方,您都可以使用MemoryStream来包装内存中的数据。