テレリックラッドウィンドウからのリダイレクト
-
21-09-2019 - |
質問
ASP.NET Webアプリケーションでは、Telerik Radウィンドウで構築されたモーダルポップアップがあります。そのポップアップには、「Code-Behind」でアクションを実行し、アプリケーションを別のページにリダイレクトする必要があるボタンがあります。
リダイレクトには、javaScriptコマンド 'top.document.location.href = mypage'を使用します(code-behindからscriptmanager.registerclientscriptblock(...)を使用してブラウザに送信されます)。
これは私の問題を解決しますが、それはあまり良くありません。ボタンが押されると、これによりポストバックがトリガーされます。ブラウザでは、ポストバックが終了すると消えるRadloadingPanelでポップアップが覆われています。その後、数秒の間、アプリケーションでは何も起こりません。ブラウザが新しいページをロードするのはしばらく経ってからです。
ユーザーがアプリケーションが何をしているのかわからないため、数秒間に何も起こらないという事実は大きくありません。
私に何ができる ?リダイレクトを行うためのより良い方法はありますか? (JavaScriptプログラミングは非常に初めてです...)。
解決
「top.document.location.href = mypage」を呼び出すだけでなく、オーバーレイを表示する関数を呼び出すことができます(たとえば、親ページ本体にradajaxloadingpanelを表示)、新しいURLを設定できます。見る http://www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.html JavaScriptを使用してパネルを読み込む方法については。
location.hrefが正常に設定した後の遅延は、ブラウザ/サーバーが新しいページHTMLを取得するのに時間がかかるため、古いページがすぐに消えることができないと思います。