【发布时间】:2012-12-10 12:30:42
【问题描述】:
我有一个网页,上面有一个输入按钮。单击此按钮,在特定的 div 中加载一些数据。我的问题是我无法捕捉到这些数据。
以下代码是我尝试解决这个问题,但没有成功。
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement div_result = webBrowser1.Document.GetElementById("div_result");
div_result.AttachEventHandler("onpropertychange", new EventHandler(resultEventHandler));
}
private void resultEventHandler(object sender, EventArgs e)
{
MessageBox.Show("Loaded");
}
如果我点击输入按钮,div 的内容会被修改,但resultEventHandler 不会触发。
所以,我有两个问题:
- 这段代码我的错在哪里?
- 在 C# 中使用
WebBrowser控件来处理 ajax 是否有“正常方式”(我的意思是不使用计时器或Aplication.DoEvents())?
【问题讨论】:
-
是不是因为“更改子元素的innerText或innerHTML不会导致父元素的onpropertychange事件触发。”?因为当内容更改时,DIV 的任何属性都不需要更改。 msdn.microsoft.com/en-us/library/ie/ms536956(v=vs.85).aspx
标签: c# html winforms webbrowser-control propertychanged