2015-01-07 105 views
1

我使用下面的代碼在我WebBrowser提交表單:提交HTML表單在web瀏覽器

private void wbMain_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     if (!string.IsNullOrEmpty(wbMain.Url.AbsoluteUri)) 
     { 
      wbMain.Document.GetElementById("dp").SetAttribute("checked", "checked"); 
      MessageBox.Show("checked"); 
      wbMain.Document.GetElementById("frm").InvokeMember("submit"); 
     } 
    } 

這是工作完美,但在取出MessageBox形式後未提交任何。我不知道爲什麼,也許是因爲提交表單未被滿載時被調用?

你能提出什麼建議?

回答

-1

我有一個類似的問題,但不幸的是沒有弄清楚究竟是什麼錯誤。 它看起來像調用MessageBox.Show()觸發事件鏈,這使WebBrowser「更新」其狀態。

我的解決方案是,而不是調用成員,執行適當的JavaScript。

你試過這個嗎?

while (browser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } 
+0

感謝您的提示,小子:)。其實我已經想出了它,並在提交表單之前添加了'Application.DoEvents();'。 –

相關問題