我有一个C#网络应用程序向用户显示报告,有时报告会在几分钟左右生成(而不是几秒钟)。
我有RadTreeView
个“ReportType
”链接,点击后会使用客户端的RadAjaxRequest
执行RadAjaxManager
。
function RadTreeviewNodeClicked(sender, eventArgs) {
try {
console.log("fired again: " + eventArgs.get_node().get_text());
var radAjaxManager = $find("<%= RadAjaxManager.GetCurrent(Page).ClientID %>");
radAjaxManager.ajaxRequest("NodeClicked");
} catch (error) {
console.log("error on nodeclicked");
}
}
//from my pageload
radAjaxManager1 = RadAjaxManager.GetCurrent(Page);
radAjaxManager1.AjaxRequest += RadAjaxManager1_AjaxRequest;
radAjaxManager1.ResponseScripts.Add("AttachJQueryUIDateTimePickers();");
radAjaxManager1.AjaxSettings.AddAjaxSetting(radAjaxManager1,pnlRightContent,RadAjaxLoadingPanel1);
radAjaxManager1.ClientEvents.OnResponseEnd = "ResponseEnd";
服务器上的ajaxRequest
处理程序为已点击的链接加载相应的报告,并在asp:面板的右侧显示它。菜单和面板都包含在RadAjaxPanel
。
如果报告数据仍在加载(存储过程正在执行),并且用户单击另一个链接:
我想在点击后续事件时放弃/中止第一个事件。这可能吗?
答案 0 :(得分:0)
通过将rad Ajax Manager的队列大小设置为0,我发现Telerik可以实现:
radAjaxManager1.RequestQueueSize = 0;