如何在Winform的Web浏览器控件中触发__dopastback()

时间:2015-01-20 09:13:59

标签: javascript c# winforms mshtml

我试图在Winfrom中操纵网址的html用于自动化目的,在网页上有一个锚标记:

<Ahref="javascript:__doPostBack('dgBloodDonorResults$ctl01$ctl01','')">2</A>

如何自动触发__dopostback()??

我试过了:

           mshtml.HTMLDocument doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;

            mshtml.IHTMLElementCollection anchors = doc.getElementsByTagName("a");

            foreach (mshtml.IHTMLElement anchorElement in anchors)
            {
                mshtml.HTMLAnchorElement anchor = anchorElement as mshtml.HTMLAnchorElement;
                if (anchor != null)
                {
                    string outerHTML = anchor.outerHTML;

                    if (outerHTML.Contains("dgBloodDonorResults$"))
                    {

                        if (currentGridPage +1 <= totalPagesInGrid)
                        {
                            currentGridPage++;
                            System.Diagnostics.Debug.WriteLine(anchor.href + " HTML: " + outerHTML);

                            anchor.click(); //I Want this to firing.


                        }
                        else
                        {
                            isPostback = false;
                            currentGridPage = 0;
                            return;
                        }
                        //UpdateBrowser();
                    }
                }
            }
           `

1 个答案:

答案 0 :(得分:0)

您可以直接调用方法:

webBrowser1.Document.InvokeScript("__doPostBack", 
      new object [] { "dgBloodDonorResults$ctl01$ctl01", "" } 
    );

MSDN

上的文档