在c#中将事件DocumentCompleted添加到WebBrowser

时间:2016-04-11 16:28:54

标签: c# asp.net asp.net-mvc events

我想将一个事件DocumentCompleted添加到我的控件WebBrowser中。这是我的代码。但它没有用。



        <asp:Button id="Button_Auth" Text="Authentification" OnClick="Authentification_Click"  runat="server"/>
        <asp:label id="Messages" runat="server"/>
&#13;
&#13;
&#13;

     public void Authentification_Click(object sender, EventArgs e)
    {
        string input = "https://www.google.fr";
        runBrowserThread(input );

        Messages.Text = "ok";
    }



    private void runBrowserThread(String url)
    {
        var th = new Thread(() => {
            var br = new WebBrowser();
            br.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
            br.Navigate(url,true);
        });
        th.SetApartmentState(ApartmentState.STA);
        th.Start();
    }

    public void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        var br = sender as WebBrowser;
        Messages.Text = e.Url.ToString();

    }

我想要的是打开一个新页面webBrowser以及每次页面(在https://www.google.fr}完成加载时),例如,用户输入一个关键词并进行搜索。当结果页面完成加载时,我将返回结果https://www.google.fr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=keyword的url并将其显示在我的标签Messages中。

我不知道为什么我的代码无效。

1 个答案:

答案 0 :(得分:0)

检查事件是否完全适合您的事件处理程序。

它是一个asp.net应用程序还是winforms应用程序或wpf应用程序?在asp.net应用程序中,此事件不可用。如果asp.net尝试JavaScript