2

ASP.NET 3.5アプリケーションでは、「お待ちください..」機能を実装したいと思います。すべてのユーザーアクション(ボタンのクリック、タブの変更など)で、ページの上部に小さなスピナーを表示します(実際には私たちが使用している別のフレームにはすでにあります)。

私たちはこの解決策を考えました:

  1. 「ハイジャック」し_doPostBackてすべてのイベントを傍受し、スピナーイメージを表示してから、元の_doPostBack機能を実行します
  2. 処理が終了したときに画像を非表示にするために、ASP.NETコードビハインドにクライアントスクリプトブロックを登録します

私の質問は:それは良い解決策だと思いますか?確かにあまりエレガントではありませんが、かなり効率的です。この種のことを行うための別の解決策/パターンはありますか?

PS:JQueryを使用せず、使用しますUpdatePanels

4

2 に答える 2

2

既に UpdatePanels を使用しているため、UpdateProgressコントロールをページに追加して、それを UpdatePanel に関連付けるだけです。

これは、部分的なポストバックが UpdatePanel 内から開始されると自動的に表示され、リクエストが完了すると非表示になります。

以下は例です。img タグをスピナー画像に向けるだけです。コントロールを表示したい場所に配置できます。

<asp:UpdateProgress runat="server" AssociatedUpdatePanelID="updatePanel1">
  <ProgressTemplate>
    <img src="./images/somespinner.gif" />Please wait...
  </ProgressTemplate>
</asp:UpdateProgress>
于 2009-05-29T12:03:00.750 に答える
-1

プログレス インジケーターを UpdatePanel にアタッチできると確信しています。イベント ハンドラーによるものか、プロパティによるものか、思い出せません。しばらく経ちましたが、私は UpdatePanels ではなく jQuery を使用しています。

リッチ

于 2009-05-29T08:42:21.687 に答える