作者ThreeDay0905 (三天)
看板Visual_Basic
标题[.NET] WebBrowser in ASP.NET (判断读取完成)
时间Mon Oct 11 00:37:33 2010
请输入专案类型(网站专案或者应用程式专案):网站专案
前辈好,
小弟目前有个需求,要在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