1

ボタンをクリックするとすべての内容が実行されるasp.net Webアプリケーションがありますが、動作が遅く、動作に10〜15秒かかり、サイトがビジーなときにユーザーにボタンをスパムクリックさせたくありません。したがって、私の計画は、ボタンを無効にして、その下のラベルをビジーにして「実行中」と表示することでした。それが完了すると、ボタンは再びアクティブになり、ラベルには「完了」と表示されますが、これは計画どおりに機能しませんでした。ボタンリスナー。

 protected void SubmitButton_Click(object sender, EventArgs e)
    {
        SubmitButton.Enabled = false;
        RunStatus.Text = "Running";
        RunStatus.Visible = true;
        ErrorField.Visible = false;

//i deleted all my code that actually does the stuff that takes time from here

        RunStatus.Text = "Done";
        SubmitButton.Enabled = true;
    }

問題は、メソッドが実行された後にすべての視覚的なものが発生するため、実行中は何も変更されず、テキストフィールドの表示が完了した後です。ビジーなカーソルがあればうれしいですが、それは二次的な重要性です。

4

2 に答える 2

2

ボタンを でラップしUpdatePanel、コントロールを使用しUpdateProgressて、AJAX 呼び出しが行われていることをクライアントに示します。詳細については、このチュートリアルを参照してください。

于 2012-07-30T15:22:06.543 に答える
0

本当に申し訳ありませんが、ASP.NET ページのライフサイクルに関する知識に根本的なギャップがあります。これは、Windows フォームとは大きく異なります。これは、投稿したコードの種類が適用されるものです。

ASP.NET に関するまともな本を手に取り、HTTP/HTML を介した ASP.NET の抽象化について基本的な理解を深めることをお勧めします。

于 2012-07-30T15:22:43.470 に答える