2011-11-13 3 views
1

この小さなビジュアルバグを修正する方法があれば、誰か教えてください。ASP.NETまたはクライアント側のスクリプトを介してダウンロードが停止するときを調べる

私のasp.netコードでは、ユーザーがダウンロードできるファイルを生成します。擬似コードは次のようになります:

Response.ContentType = "text/plain"; 
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName); 
Response.BinaryWrite(); 
Response.End(); 
、このようなファイルがサーバー上で生成されている間、私はまた、クライアント側に回転する円のアニメーションを表示するにはJQueryを採用

$(function() { 
    $('#ButtonBeginDownload').click(function() { 
     //When Submit button is clicked 
     $('#IdSubmitSpinner').css('display', 'inline-block'); 
    }); 
} 

とCSSスピナーのためにこのようなものです:

.submitSpinner 
{ 
    margin: 0px 10px 0px 6px; 
    display: none; 
    width: 28px; 
    height: 28px; 
    display: none; 
} 

とHTML:

<img id="IdSubmitSpinner" alt="" src="Graphics/spinner.gif" width="28" height="28" class="submitSpinner" /> 

上記のコードは正常に動作し、ダウンロードが開始されるとスピナーが回転を開始しますが、残念ながら、ファイルのダウンロードが終了したときにスピナーの回転が停止するようには見えません。誰もがこれを修正する方法を知っていますか?

+0

を? –

+0

これまでに解決策が見つかったのかどうか覚えていますか?私は同じ問題を抱えていた –

+0

@HansPetterNaumann:私はそれを回転させると思う。しかし、Ajaxを使用するための以下の答えはおそらく行く方法です。もしあなたがより良い解決策を見つけられたら、ここに投稿してください... – ahmd0

答えて

0

ファイルをダウンロードするためにAjax呼び出しを使用している場合は、スタート/ストップ転送を検出するためにこれを使用することができます:あなたは、実際のダウンロードが開始するトリガーにはどうすればよい

$("#IdSubmitSpinner").bind("ajaxSend", function(){ // when user request sent 
      $(this).show(); 
    }).bind("ajaxComplete", function(){ // when response ended 
      $(this).hide(); 
    }); 
+0

ありがとうございます。私はブラウザで通常のダウンロードプロセスを使用します。そのAjaxコールをどのように追加しますか? PS。あなたが意味するものが分かっていれば、スピナーを表示するだけで不必要に複雑なことをしたくないです... – ahmd0

+0

'jQuery'' ajax()'ファミリ関数を使って 'plain/text'コンテンツを取り出すことができます。例えば: '$アヤックス({ URL: 'yourPageURL'、 タイプ 'GET'、 データ型: 'テキスト'、 成功:機能(retrievedContent){// あなたが取得したコンテンツでほしいと思う何。 } }); ' – fardjad

+0

申し訳ありませんが、私はまだあなたが提案しようとしていることに従っていません。それが私が達成しようとしていることをどのように助けてくれるでしょうか? – ahmd0

関連する問題