在表单加载中我有这行代码
webBrowser1.DocumentText = "<table id='table1'><tr><td>hello</td></tr></table>";
在按钮上单击Iam,这些代码行添加了新的表格行。 但是在消息框中没有反映出变化。我应该手动更新webbrowser内容,如文档文本。如果是这样怎么办?
HtmlElement element = webBrowser1.Document.GetElementById("table1");
HtmlElement mTBody = element.FirstChild;
HtmlElement mTR = webBrowser1.Document.CreateElement("tr");
HtmlElement mTD1 = webBrowser1.Document.CreateElement("td");
mTD1.InnerText = "Teamviewer Id1";
mTD1.SetAttribute("id", "TeamviewerId1");
mTR.AppendChild(mTD1);
mTBody.AppendChild(mTR);
MessageBox.Show(webBrowser1.DocumentText);
答案 0 :(得分:0)
从Web浏览器异步提取内容。
尝试订阅DocumentCompleted
事件,然后从那里显示DocumentText
。
选项1
添加元素后刷新您的网络浏览器:
webBrowser1.Refresh(WebBrowserRefreshOption.Completely);
然后从DoucmentText
事件
DocumentCompleted
void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
MessageBox.Show(sender.DocumentText);
}
选项2
如果上述选项无效或未触发DoucmentCompleted
事件。
在按钮点击事件上添加元素后,尝试导航到您的网址。
webBrowser1.Navigate(url); //Instead of the refresh
然后在DocumentCompleted
事件中,检查网址是否匹配(因为有多个框架会多次触发DocumentCompleted事件),然后显示您的DocumentText
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.Equals(webBrowser1.Url)) {
MessageBox.Show(sender.DocumentText);
}
}