ajax请求asp页面内容,ASP.NET长期运行的Ajax请求.页面响应

当我的页面加载时,我需要立即在页面的一个用户控件中启动数据拉取,以便填充在该用户控件的网格中显示的一些搜索结果.拉取这些搜索结果的查询可能需要相当长的时间(8-10秒).

我的目标是使Ajax请求只更新包含用户控件的页面部分,以便用户可以自由地与页面上的其他元素交互,而昂贵的用户控件自己加载它自己的数据.

在我当前的方法中,当加载该控件时,用户无法与页面上的任何元素进行交互.当他们点击页面上其他位置的按钮时,在长时间运行的ajax请求完成之前,不会达到按钮单击的回发的Page_Load().似乎其他Ajax请求在长期运行的请求之后排队等待.

这是我的方法(用于Ajax的Telerik控件):

我有一个RadAjaxPanel有一个隐藏按钮,将导致Ajax回发.页面加载时,通过Javascript单击此按钮.在按钮的单击处理程序中,有代码将用户控件加载到ContentPlaceHolderControl并加载控件的数据

调用按钮执行Ajax PostBack的Javascript:

function DoAjaxPostBack() {

var interval = setInterval(function()

{

if(document.readyState === 'complete')

{

var argmnt='';

var ajaxManager = $find("");

ajaxManager.ajaxRequestWithTarget('',argmnt);

clearInterval(interval);

}

},100)

}

在页面上:

If Not IsPostBack Then

RadScriptManager.RegisterStartupScript(Page,Page.GetType(),"1","DoAjaxPostBack('');",True)

End If

这是一个合理的方法,并且没有办法让Ajax请求互相阻塞吗?或者是否有另一种方法可以让长时间运行的请求在它自己的世界中单独运行,而不会干扰它所依赖的页面的响应性?我正在考虑尝试IFrame.

谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值