ユーザーにレポートを表示する 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:panel の右側に表示します。メニューとパネルはどちらもRadAjaxPanel
.
レポート データがまだロード中 (ストアド プロシージャが実行中) で、ユーザーが別のリンクをクリックした場合:
- クライアント イベントがトリガーされる
- サーバーは最初のイベントを終了します
- RespondeEnd イベントが発生する
- サーバーは 2 番目のイベントの処理を開始します
後続のイベントがクリックされたときに、最初のイベントを破棄/中止したいと考えています。これは可能ですか?