0

アクセスするたびに大量のデータをロードする Web サイト (ASP.NET 4.0 C#) にホームページがあります (基本的にはダッシュボード)。これは(ユーザーによっては)ロードに時間がかかる場合があるため、各セクションを更新パネルに分割して個別にロードし、ユーザーがページがフリーズしたと考えるだけでなく、ロードを確認できるようにしました。ただし、ユーザーが待機したくない場合に別のページへのナビゲーション メニュー (またはリンク) をクリックすると、ページが完全に読み込まれるまで待たなければならないため、新しい問題が発生します。

別のリンクがクリックされた場合にページリクエストがデータをロードするのを止めて、そのリンクを処理する方法はありますか?

詳細情報-ナビゲーションメニューが配置されているマスターページと、ホームページのajax更新パネルを使用しています。

4

1 に答える 1

0
function cancelPostBack() {
  var prm = Sys.WebForms.PageRequestManager.getInstance();
  if (prm.get_isInAsyncPostBack()) {
   prm.abortPostBack();
  }
}

この関数をナビゲーション項目の onclick イベントにアタッチして、ナビゲーションを続行する前に保留中のリクエストを確実にキャンセルします。

于 2013-01-15T10:19:29.977 に答える