我有一个webBrowser:
webBrowser1.DocumentText = @"<html lang='en'>
<head>
<meta charset='utf-8'>
<title></title>
<style type='text/css'>
.red
{
color: red;
}
</style>
</head>
<body>
<div class='red'>red text</div>
sad adad a das
</body></html>";
我想获得webBrowser的完整资源:
textBox1.Text = webBrowser1.DocumentText;
但结果只是:
<HTML></HTML>
如果我在设置textBox1.text:
之前在MessageBox中显示它MessageBox.Show(webBrowser1.DocumentText);
这很奇怪。我怎样才能获得完整的资源?
答案 0 :(得分:0)
这是从WebBrowser
控件
var html = @"<html lang='en'>
<head>
<meta charset='utf-8'>
<title></title>
<style type='text/css'>
.red
{
color: red;
}
</style>
</head>
<body>
<div class='red'>red text</div>
sad adad a das
</body></html>";
webBrowser1.DocumentText = "0";
webBrowser1.Document.OpenNew(true);
webBrowser1.Document.Write(html);
webBrowser1.Refresh();
// Will return html you provided
textBox1.Text = webBrowser1.DocumentText;
答案 1 :(得分:0)
直接回答您的初步问题,无论如何都能获得全部资料:
WebBrowser1.Document.GetElementsByTagName("HTML").Item[0].OuterHtml;
养成使用它而不是DocumentText的习惯,因为如果你在设置后对DocumentText进行任何更改,例如,更改标签的InnerHTML,那些更改将不会保存到DocumentText。
我只是将一个TextBox打到我的一个WinForms上,并将文本更新为上面的代码,它显示我的所有HTML没有问题。以下是我填写WebBrowser的示例,以防您的代码中出现拼写错误或其他内容:
WebBrowser1.Navigate("about:blank");
WebBrowser1.Document.OpenNew(false);
WebBrowser1.Document.Write("<html><head><title></title></head><body></body></html>");
我从没有直接写过DocumentText的运气。这种方法没有问题。