2012-04-18 14 views
0

デスクトップアプリケーションがゲートウェイを介してクレジットカードを使用するために、C#のwebbrowserコントロールを使用しています。webBrowserコントロールの応答を取得する

単純に、私は、フォームのロード時にページをロードしています:

Portal

public Form1() 
{ 
    InitializeComponent(); 

    webBrowser1.Url = new Uri("https://paymentgateway.com/hosted.aspx?" + 
          "Username=dddd" + 
          "&Password=dddd" + 
          "&MerchantKey=5159" + 
          "&BillingAddress1=123 some street" + 
          "&BillingCity=Somewhere" + 
          "&BillingState=SC" + 
          "&BillingZip=39399" + 
          "&CustomerName=me" + 
          "&Amount=392.00" + 
          "&InvNum=123567" + 
          "&AccountNumber=0133333" + 
          "&CustomerId=0199999"); 


} 

(すべての参照は、セキュリティ上の理由から変更)

ページには、次のようになります

私の質問は、プロセスボタンをクリックすると、どのように応答するのですか?を開いてフォームを閉じますか?私はそれが承認されたかどうか、そしてその時点からの残りの情報を知る必要があります。

ボタンを制御できないため、レスポンスの取得方法がわかりません。

もう一度おねがいします!

答えて

2

あなたがDocumentCompletedイベントをサブスクライブし、ドキュメント、DocumentTextまたはDocumentStreamを経由してそこに応答を処理するために必要と思われます。

出力の内容に応じて適切に反応します。例:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    HtmlDocument document = webBrowser1.Document; 
    //now use any of the methods exposed by HtmlDocument to parse the output 
} 
+0

"document"要素内にHTML関連のものがすべて表示されていますが、応答できませんでした。例: - 私はサービスを呼び出します。完成したイベントでは、私はそのサービスの応答データを知る必要があります(私たちはTextViewタブのフィドラーでその応答を見ることができます)。どのようにしてその返答の詳細を得ることができますか? – Surya

0

フォームでは、フォームを呼び出す場所からアクセスできる情報を取得するためのパブリックメソッドを作成できます。あなたはこのように、dialogResult == DialogResult.OKにこのメソッドを呼び出すことができます。

 object your_info; 

     Form1 form1 = new Form1(); 
     if (form1.DialogResult == DialogResult.OK) 
     { 
      your_info = form1.getInfo(); 
     } 
関連する問題