3

それほど難しいことではないように思える何かを完成させようとしていますが、うまくいく方法を見つけることができないようです。

asp.netページからデータベースのストアドプロシージャを呼び出しています。データの量によっては、手順に少し時間がかかる場合があります。

私がやりたいのは、タスクが完了するまで待ってくださいというメッセージを表示することだけです。

問題は、ページがメッセージで更新された後、プロシージャを呼び出す方法がわからないことです。私が何をしても、ページの更新は常にデータベース呼び出しによってブロックされます。

私はマルチビューで試すことから始めました。ユーザーがボタンをクリックすると、ビューが待機中のメッセージに変わります。この時点から、ページが再投稿されて更新されるのを待ってから、データベースプロシージャを呼び出す方法がありません。

4

2 に答える 2

2

いくつかのオプションがあります。AJAX Control Toolkitと UpdateProgress コントロールを使用するか、またはjQueryを使用してデータベース呼び出しを使用して呼び出すことができます。 WebMethodWeb Service

AJAX Control Toolkit

http://www.asp.net/ajax/documentation/live/overview/UpdateProgressOverview.aspx

jQuery implementation

[WebMethod]
public void PerformDatabaseOperation() {
    // Your database code here
}

へのリクエストを実行するにはWeb Method:

$.ajax({
  type: "POST",
  url: "./YourPage.aspx/PerformDatabaseOperation",
  error: function(XMLHttpRequest, textStatus, errorThrown){
      alert(textStatus);
  },
  success: function(result){
     alert("success");
  }
});

divメッセージのプレースホルダーとして が必要です。

<div id="LoadingMessage">
   Please wait....
</div>

$('#LoadingMessage').hide()  
.ajaxStart(function() {
    $(this).show();
})
.ajaxStop(function() {
    $(this).hide();
});

データベース呼び出しを実行するたびに、読み込みメッセージが表示されます。

于 2012-10-11T19:34:25.977 に答える
1

UpdateProgress コントロールの概要

http://msdn.microsoft.com/en-us/library/bb386421%28v=vs.100%29.aspx

このチュートリアルでは、UpdateProgress コントロールを使用して、部分ページ更新の進行状況を表示します。ページに UpdatePanel コントロールが含まれている場合は、UpdateProgress コントロールを含めて、部分ページ更新のステータスをユーザーに通知することもできます。1 つの UpdateProgress コントロールを使用して、ページ全体の部分ページ更新の進行状況を表すことができます。または、すべての UpdatePanel コントロールに UpdateProgress コントロールを含めることができます。これらのパターンは両方とも、このチュートリアルで示されています。

于 2012-10-11T19:35:33.833 に答える