看板 C_Sharp 關於我們 聯絡資訊
前輩好, 小弟目前有個需求,要在Web Base的環境下呼叫WebBrowser元件 已經完成解決初步的問題,可以順利的在ASP.NET上呼叫WebBrowser 但遇到的問題是去判斷網頁是否讀取完成 通常遇到這種問題,在Window Form上面主要有兩種做法 1) 在DocumentCompleted事件上做處理 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //doSomeThing } ========================================================= 2) 判斷ReadyState webBrowser1.Navigate("http://www.test.com.tw/"); while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } //doSomeThing ========================================================== 小弟平常習慣已做法2去判斷是否讀取完成 因閱讀上較直覺,並且可以完成在讀取完成前系統是等待狀態 不會去執行到其他程式碼(因Navigate事件可能在迴圈中) 但轉移到WebBase上的時候 做法1仍可正常運作 但做法2卻會失敗,變成無窮迴圈 小弟猜想應該是Application.DoEvents此函數在ASP.NET上 因呼叫WebBrowser元件的方式與Window Form不同 所以無法達到預期的效果 是以小弟的問題是 如何在ASP.NET上面使用WebBrowser 並且在讀取文件的時候程式可以暫停 能夠使用邏輯方式去判斷是否文件讀取完成後才繼續 (如判斷ReadyState == Complete) 而不是用呼叫DocumentComplete的方法去判斷 感謝前輩指點了 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.141.36