1

asp.net Webアプリケーションに、TelerikRadWindowで構築されたモーダルポップアップがあります。そのポップアップには、「コードビハインド」で何らかのアクションを実行してから、アプリケーションを別のページにリダイレクトする必要があるボタンがあります。

リダイレクションには、javascriptコマンド'top.document.location.href = myPage'(ScriptManager.RegisterClientScriptBlock(...)でコードビハインドからブラウザーに送信されます)を使用します。

これで私の問題は解決しますが、あまり良くありません。ボタンが押されると、これによりポストバックがトリガーされます。ブラウザでは、ポップアップはRadLoadingPanelで覆われています。これは、ポストバックが終了すると消えます。その後、数秒間、アプリケーションで何も起こらず、ブラウザが新しいページをロードするのはしばらくしてからです。

ユーザーはアプリケーションが何をしているのかわからないため、数秒間何も起こらないという事実は素晴らしいことではありません。

私に何ができる ?リダイレクトを行うためのより良い方法はありますか?(私はJavaScriptプログラミングに非常に慣れていません...)。

4

1 に答える 1

2

'top.document.location.href = myPage'を呼び出す代わりに、オーバーレイを表示する関数を呼び出して(たとえば、親ページの本文にRadAjaxLoadingPanelを表示する)、新しいURLを設定できます。JavaScriptを使用して読み込みパネルを表示する方法については、http: //www.telerik.com/help/aspnet-ajax/ajxshowhideloadingpanel.htmlを参照してください。

location.hrefを設定した後の遅延は正常だと思います。ブラウザ/サーバーが新しいページのHTMLを取得するのに時間がかかるため、古いページがすぐに消えることはありません。

于 2010-03-23T16:19:03.323 に答える