• 締切済み

一定時間ごとにメッセージを表示するWebアプリ

ASP.NET(C#)でWebアプリを作成中です。初心者です。 「ボタンを押した後、一定時間ごとにテキストボックスにメッセージを表示する」ということは可能でしょうか? 単純に以下のように記述とすると、10秒後にi=9のときのメッセージのみがテキストボックスに表示されます。 1秒ごとにメッセージを表示するには、逐次的にクライアントへ結果を返す必要があると思うのですが、可能でしょうか? void Button1_click(Object sender, EventArgs e){   for(int i=0; i<10; i++){     TexBox1.Text = "○○";     Thread.Sleep(1000);   } } また、この処理はバックグラウンドで動作させたいと思っています。 スレッド化すれば良いと思い、手始めに以下のようなコードを書いたのですが、テキストボックスには何も表示されません。スレッドからメッセージを表示させるにはどうしたら良いでしょうか? void Button1_click(Object sender, EventArgs e){   Thread t = new Thread(new ThreadStart(Output));   t.Start(); } void Output(){   TexBox1.Text = "○○"; } 以上2点よろしくお願いします。方針やキーワードだけでも教えていただけると助かります。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.1

Webアプリケーションはクライアントからの リクエストにレスポンスしたら終わりです。 つまり、1リクエスト、1レスポンスです。 バックグラウンドもスレッド化も残念ですが 見当外れです。 クライアントが一定時間ごとに、サーバに リクエストを発行するように発想を変えます。 クライアントサイドなので、JavaScriptを使い Timeoutで一定時間経過したらSubmitする か、AJAXでテキストボックスの内容を変更 するようにします。

関連するQ&A