javascript – ASP.NET AJAX回发中止
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – ASP.NET AJAX回发中止,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2307字,纯文字阅读大概需要4分钟。
内容图文
![javascript – ASP.NET AJAX回发中止](/upload/InfoBanner/zyjiaocheng/784/67ba24b0ff794bf6b278df803f710f0b.jpg)
我有一个带有两个回发事件的ASP.NET网页,第二个是中止第一个.第二个一旦完成就不会按预期呈现.
详细地
我有一个ASP.NET网页,实际上包含两个链接按钮.它使用Telerik ASP.NET AJAX控件,但我不确定这些控件的行为是否特定:
Page – 极为简洁的版本如下:
<telerik:RadToolTipManager ID="RadToolTipManager1" runat="server"
Position="BottomLeft" RelativeTo="Element" ShowEvent="OnClick"
HideEvent="ManualClose" Animation="Fade" OnAjaxUpdate="OnShowItems" >
<TargetControls>
<telerik:ToolTipTargetControl TargetControlID="btnShowItems" />
</TargetControls>
</telerik:RadToolTipManager>
...
...
<asp:LinkButton ID="btnShowItems" runat="server" Visible="false">
<span><%= ItemsPrompt %></span>
</asp:LinkButton>
...
...
<uc1:X ID="XControl" runat="server"/>
UserControl“X” – 极为简洁的版本如下:
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server"
LoadingPanelID="LoadingPanel1" RenderMode="Block">
<asp:LinkButton runat="server" ID="CausePostbackButton"
Style="display: none" />
</telerik:RadAjaxPanel>
用例#1 – 成功
>页面加载并且控件“X”中的JavaScript计时器激活LinkBut??ton上的回发“CausePostbackButton”[eval(__ doPostBack(postbackButtonClientID,”));]. (因此,这模仿了用户点击按钮).
> AJAX调用转到服务器,n秒后它返回并导致以特定方式更新页面.
>然后,用户单击LinkBut??ton“btnShowItems”,这会导致回发到服务器,并在n’秒后返回并导致以特定方式更新页面.
用例#2 – 失败
>页面加载并且控件“X”中的JavaScript计时器激活LinkBut??ton“CausePostbackButton”上的回发. (因此,这模仿了用户点击按钮).
>在服务器有时间响应之前,用户单击LinkBut??ton“btnShowItems”.
>在FireFox / Firebug中,您可以看到第一个回发后事件是“已中止”.第二个回发后事件完成(您可以看到报告的时间),但页面未在视觉上更新.
>如果再次单击“手动”按钮,则按预期工作.
我的想法
>我知道JavaScript是单线程的,因此如果事件无法立即运行,那么它们就会排队.
>我知道如果一个计时器触发一个排队的事件,然后在第一个事件仍然排队时触发相同的事件,那么这些事件中的一个(第二个?)将被删除.
>这就像第一个事件被删除一样,但第二个事件再也找不到要写入的“通道”了.
但是,如果我将“手动”链接按钮更改为图像按钮,则行为不会更改.
任何想法是什么问题(理想情况下解决方案)?
提前谢谢了
格里夫
解决方法:
正如迪克兰帕德所说,我们直接联系了Telerik.他们立即提出了解决方案:
根据设计,如果您在接收第一个响应之前尝试启动另一个请求,则ASP.NET AJAX Framework会取消正在进行的ajax请求.例如,将RadAjaxPanel的RequestQueueSize设置为3 …
那很有效!
内容总结
以上是互联网集市为您收集整理的javascript – ASP.NET AJAX回发中止全部内容,希望文章能够帮你解决javascript – ASP.NET AJAX回发中止所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。