2

ユーザーにレポートを表示する 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 番目のイベントの処理を開始します

後続のイベントがクリックされたときに、最初のイベントを破棄/中止したいと考えています。これは可能ですか?

4

1 に答える 1

0

rad Ajax Manager の Queue Size を 0 に設定することで、Telerik で可能であることがわかりました。

        radAjaxManager1.RequestQueueSize = 0;
于 2013-10-21T14:09:14.817 に答える