我的页面上有一个iframe。基本上,iframe托管用户定义的控件(让我们调用控件C)。在Page_Load中,此控件C查询数据库并在ASP:DataGrid控件
中显示结果截至目前,当控件C正在加载其数据并且我尝试离开页面时,浏览器将不会导航到新页面,直到加载了控件C的数据。
我想知道是否有办法以编程方式停止控件C完成其加载过程(类似于浏览器上的停止按钮)?我可以阻止iframe加载(即在控件C完成加载之前触发iframe onload事件),但是在控件C完成加载其数据之前,浏览器仍然没有导航。
答案 0 :(得分:0)
我想知道是否有办法以编程方式停止控件C. 完成加载过程(类似于停止按钮) 一个浏览器)?
从您要求其他页面的那一刻起,进行长循环的控件只能理解客户端是否关闭了他的连接并且必须通过检测它来停止他正在做的事情,这里是一个代码片段。
if (!Response.IsClientConnected){
HttpContext.Current.Response.End();
return;
}
现在,您的页面等待完成上一个操作所做的唯一原因是默认情况下asp.net具有的会话锁定并锁定同一用户的每个请求以保持良好的同步。如果您使用该代码检查用途是否仍然连接,我相信您有所要求的。