使用 setattribute 选择下拉列表的值时未触发 Onchange 事件
Posted
技术标签:
【中文标题】使用 setattribute 选择下拉列表的值时未触发 Onchange 事件【英文标题】:Onchange event not triggered while using setattribute to select value of drop down 【发布时间】:2019-03-04 09:50:46 【问题描述】:我正在尝试使用 Windows 窗体应用程序来自动执行一些浏览器(Internet Explorer)任务。
在这里,我试图从可用的下拉列表中选择一个值,这是通过使用webbrowser1.set attribute("","")
选项实现的。
但是一旦我通过这种方式选择了该选项,该下拉文本框的 on change 事件就不会被触发,而当我返回并手动选择选项时它工作正常。
因此,如果我使用 set 属性选项,这里不会触发 onchange 事件,所以有人可以建议我如何选择所需的值并仍然触发 onchange 事件。
下面是sn-p:
private void button4_Click(object sender, EventArgs e)
webBrowser1.Document
.GetElementById("ctl00$MainContentPlaceHolder$ddl_Reports")
.SetAttribute("value", "EmployeeInformationReport");
请建议?
【问题讨论】:
【参考方案1】:您应该在 DocumentCompleted 事件之后使用文档的 AttachEventHandler api 附加到事件处理程序:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
webBrowser1.Document.AttachEventHandler("nameoftheevent", eventHandler);
private void eventHandler(object sender, EventArgs e)
//Do whatever you want
【讨论】:
以上是关于使用 setattribute 选择下拉列表的值时未触发 Onchange 事件的主要内容,如果未能解决你的问题,请参考以下文章