2016-04-11 18 views
0

イベントDocumentCompletedをコントロールWebBrowserに追加します。これは私のコードです。それは動作しません。私がしたいことは(場合https://www.google.fr中)ページの読み込みが完了したとき、例えば、ユーザーがキーワードを入力し、それを検索し、新しいページのWebブラウザーと毎回開いているイベントをWebBrowserにDocumentCompletedで追加する#

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

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

    } 

。結果のページが読み込まれたら、結果のURLを返信しますhttps://www.google.fr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=keywordと私のラベルのメッセージに表示します。

私のコードがうまくいかない理由はわかりません。

答えて

0

イベントがイベントハンドラに完全に反映されているかどうかを確認してください。

asp.netアプリケーションですか、それともwinformsアプリケーションかwpfアプリケーションですか? asp.netアプリケーションでは、このイベントは利用できません。 asp.netがJavaScriptを試す場合

+0

これはasp .netウェブアプリケーションです。 DocumentCompletedイベントはwinformsアプリケーションでのみ使用できますか?OK ...おそらく正しいでしょう。ところで、JavaScriptコードの例を挙げてください。ありがとう。 – Stephane

+0

しかし、他の人のページにJavaScriptを追加することはできません.Google.frでは、独自のページをデザインし、JavaScriptを追加してドキュメントの読み込み完了イベントを発生させます。 jqueryでは、事前に構築されたイベントがあるので、簡単に実行できます。しかし、あなたが言及しているシナリオでは、Google検索の結果URLをキャプチャする必要があるように見えますが、私はwinformsの方向に行かなければならないと思います。スレッド化された方法でWebブラウザコントロールを開くコードでさえ、デスクトップアプリケーションでのみ動作しますが、asp.netでは動作しません。 – NatarajC

+0

私はそれを参照してください。つまり、他のURLにURLを取得することはできません。 ドメイン名はJavascriptで取得できます。そして、もし私たちがC#でそれをすることをやめれば、それはwinformアプリケーションでなければなりません。私たちのドメイン名ではないにもかかわらず、ウェブブラウザでURLを取得するために、asp.netのウェブアプリケーションで他の方法を利用することができますか?ありがとう。 – Stephane

関連する問題