使用 WebForm_DoPostBackOptions 和 WebForm_DoPostBackWithOptions 调用 Html 按钮单击

Invoke Html Button click with WebForm_DoPostBackOptions and WebForm_DoPostBackWithOptions

我有一个 windows 表单应用程序,其表单上有一个网络浏览器控件。在 webbrowser 控件的 html 主体中有一个按钮,我试图调用点击事件 html tag

<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 但这没有任何意义,因为我认为一旦您获得按钮并调用点击事件,那就是照顾你了吗?但我尝试添加调用脚本,但无济于事

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