2012-04-03 6 views
3

次のコードを実行する前に、数秒間メッセージを表示したいと思います。 C#でこれを行うにはどうすればよいですか?C#で次のコードに移動する前に、コード行を数秒間(遅延)一時停止しますか?

page load().... 
{ 
    label1.text="Thank you for your input"; 
    Delay by 3 seconds??? before entering codeX 
    codeX.... 
    code.... 
} 

wait(3000)と同じくらい簡単ですか?

私の質問を明確にする: 私はsharepointにサーベイウェブパーツを作成しており、サーベイの結果をレンダリングする前に「あなたの投票ありがとうございました」というメッセージを3秒間表示したいと考えています。私はAJAXの更新パネルの中でタイマーを使うことができると仮定しています。そのようにして、ページの残りの部分には影響しませんか?これが私の質問を明確にすることを願っています。私がこれを実装できる最良の方法を教えてください。おかげ

+6

あなたのウェブページを使用していると、私は非常に迷惑になります。 – jason

+0

保持ページにリダイレクトしますか? –

+0

原則として、 'Thread.Sleep(3000)'を使うことができます。しかし、それはおそらく悪い考えです。 – CodesInChaos

答えて

2

メッセージを表示したり表示したりするには、JavaScriptを使用します。ページ上のdivと

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".message").show(); 
     $(".message").delay(5000); 
     $(".message").fadeOut(2000); 
    }); 
</script> 

<div class="message">Thanks for your input</div> 

これはあなたのリダイレクトされたページ上に置くことができます。またはリダイレクトしていない場合はcurerのページで機能を呼び出すことができます。その場合は、レディコールを自分のコールに変更する必要があります。

0

のThread.sleep(ミリ秒単位の数値)サーバ側

またはクライアント側

のsetTimeout(1250)上に、

+8

'Thread.Sleep'を使用することは、おそらく良い考えではありませんWebアプリケーション。 –

+2

これはひどい考えです。それはOPの質問に答えるかもしれませんが、それは不快です。彼らが本当にやろうとしていることを尋ねる方がいいです。 –

+0

@マークバイヤーズ - 間違いなく、今年の控えめな話です。 –

5

あなたがしたいと思っていることをしたくないです。それだけでなく;あなたがしたいことは、あなたが思っていることをしません。

サーバーハンドラスレッドは有限のリソースです。 決してを待つようにしてください。あなたは決して意図的にユーザーを待たせるべきではありません。

あなたが求めていることをやっていると、とにかく思うことはできません。 全ページを3秒遅らせます - それは1つのことを表示し、残りを表示するのを待つだけではありません。


代わりに、ページが読み込まれてから3秒後にAJAX経由でページを更新することをお勧めします。それはクライアントのjavascriptによって開始されます。私たちはあなたがより良い方向に向けるために何をしようとしているのかをもっと知る必要があります。

+0

はい、あなたは正しいです。それはまさに私がやりたいことです。私はすべての私のASP:コントロールをAJAXの更新パネルの中に入れて、タイマーを使いたいと思っています。これどうやってするの? – user1266515

関連する問題