为了账号安全,请及时绑定邮箱和手机立即绑定

使用 WebForm_DoPostBackOptions

使用 WebForm_DoPostBackOptions

C#
慕标5832272 2021-08-22 15:21:34
我有一个 Windows 窗体应用程序,其窗体上有一个 webbrowser 控件。在 webbrowser 控件的 html 正文中有一个按钮,我试图调用单击事件 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");我的问题是,当通过代码调用 click 事件时,它的行为方式与我在 chrome 等常规浏览器中单击时的行为方式不同。我想这可能是因为 javascript:WebForm_DoPostbackoptiononclick='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContentPlaceHolder$ctl00$FilterButton", "", true, "", "", false, true))'我已经环顾四周,看到我可能必须调用 javascript:webform_dopostback 但这并没有真正意义,因为我认为一旦你获得按钮并调用点击事件,那么你会得到照顾吗?但我尝试添加调用脚本无济于事webBrowser1.Document.InvokeScript("WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions('ctl00$MainContentPlaceHolder$ctl00$FilterButton', '', true, '', '', false, true))");有人可以解释我应该做什么或如何处理 WebForm_DoPostBackWithOptions 吗?
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我添加了这些代码行

            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");


查看完整回答
反对 回复 2021-08-22
  • 1 回答
  • 0 关注
  • 417 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信