javascript - 使用 WebForm_DoPostBackOptions 和 WebForm_DoPostBackWithOptions 调用 Html 按钮
问题描述
我有一个带有 webbrowser 控件的窗体的 windows 窗体应用程序。在 webbrowser 控件的 html 正文中有一个按钮,我正在尝试调用 click 事件 html 标记
<input name="ctl00$MainContentPlaceHolder$ctl00$FilterButton" class="MPPBtn" id="ctl00_MainContentPlaceHolder_ctl00_FilterButton"
onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContentPlaceHolder$ctl00$FilterButton", "", true, "", "", false, true))' type="button" value="Filter">
我已经得到了获取按钮并调用点击事件的代码
HtmlElement filterBtn = webBrowser1.Document.GetElementById("ctl00_MainContentPlaceHolder_ctl00_FilterButton");
filterBtn.InvokeMember("Click");
我的问题是,当通过代码调用点击事件时,它的行为方式与我在 chrome 等常规浏览器中点击时的行为方式不同。我在想这可能是因为 javascript:WebForm_DoPostbackoption
onclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContentPlaceHolder$ctl00$FilterButton", "", true, "", "", false, true))'
我已经环顾四周,发现我可能必须调用 javascript:webform_dopostback 但这并没有什么意义,因为我认为一旦您获得按钮并调用 click 事件,那么您会得到照顾吗?但是我尝试添加调用脚本无济于事
webBrowser1.Document.InvokeScript("WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$MainContentPlaceHolder$ctl00$FilterButton', '', true, '', '', false, true))");
有人可以解释我应该做什么或如何处理 WebForm_DoPostBackWithOptions 吗?
解决方案
我添加了这些代码行
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function Filter() { javascript: WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('id of element', '', true, '', 'url', false, true)) }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("Filter");
推荐阅读
- database - SQL删除日期早于x天的所有行
- visual-studio - Visual Studio 2017 外部 Web 工具设置存储在哪里?
- excel - 如何将一列与包含一些空白单元格的列匹配?
- r - R:将列表列表的列表写入具有名称的文本文件
- ssis - 外部组件在 microsoft sql server Dts 运行时引发了异常
- java - Woodstox 通过 SimpleXML 属性限制 - 如何设置它们?
- linux - Linux 上的 pthread_mutex_timedlock
- asp.net - 使用asp.net重定向到包含下拉列表选定项目上的pdf文件的文件夹
- python-3.x - 如何在 2x2 网格中将多张图片(相同大小)与 PIL 组合?
- reactjs - 如何更改子组件按钮的图像并从父组件导航