所以基本上我知道了:
<select name="ctl00$cp$cbRodzajUslugi" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cp$cbRodzajUslugi\',\'\')', 0)" id="cp_cbRodzajUslugi" style="width:200px;">
<option selected="selected" value="-1"></option>
<option value="708">708</option>
<option value="1156">1156</option>
<option value="1157">1157</option>
</select>
我要做的是以编程方式选择除-1值以外的选项之一,然后运行“ onchange”脚本。所以到目前为止,我有:
HtmlElement selectType = mDoc.GetElementById("cp_cbRodzajUslugi");
var selectTypeChildren = mDoc.GetElementById("cp_cbRodzajUslugi").Children;
foreach (HtmlElement selectTypeItem in selectTypeChildren)
{
if (selectTypeItem.GetAttribute("value") == "1157")
{
selectTypeItem.SetAttribute("selected", "selected");
}
}
object[] args = { selectType.Name };
mDoc.InvokeScript("__doPostBack", args);
在此之后,DocumentCompleted
事件不会触发。有趣的事实是,当我手动将selected="selected"
添加到其中一个选项,然后在Chrome的F12菜单中运行__doPostBack("ctl00$cp$cbRodzajUslugi", "")
脚本时,效果很好。
我在这里做错了什么? InvokeMember("onchange")
也不起作用。.