我有一个C#web应用程序,它向用户提供报告,有时生成报告需要几分钟(而不是几秒钟)。
我有一个
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
.
如果报告数据仍在加载(存储过程正在执行),并且用户单击另一个链接:
-
客户端事件被触发
-
服务器完成第一个事件
-
responseEnd事件被激发
-
服务器开始处理第二个事件
我想在单击后续事件时放弃/中止第一个事件。这可能吗?