在转移到C#中的下一个代码之前暂停一行代码几秒钟(延迟)?

时间:2012-04-03 12:41:45

标签: c# asp.net

我希望在继续执行后面的代码之前显示一条消息几秒钟。 我怎么能在C#中做到这一点?

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

是否像使用wait(3000)一样简单?

澄清我的问题: 我正在sharepoint中创建一个调查Web部件,并希望在呈现调查结果之前显示消息“感谢您的投票”3秒。我假设我可以在AJAX更新面板中使用计时器,这样它不会影响页面的其余部分?我希望这能澄清我的问题。请让我知道,这是我实现这一目标的最佳方式。感谢

3 个答案:

答案 0 :(得分:5)

你不想做你想做的事。不仅;你想做什么并不能达到你的想象。

服务器处理程序线程是一种有限的资源。你应该从不有目的地让他们等待。你也不应该故意让用户等待。

那就是说,无论如何,按照你的要求行事并不会做你想象的那样;它将延迟整页三秒钟 - 它不会只显示一件事并等待显示其余部分。


您可能正在寻求的是在页面加载后3秒通过AJAX更新页面。这将由客户端javascript启动。我们需要了解更多您想要做的事情,以便为您指明更好的方向。

答案 1 :(得分:2)

使用Javascript显示和隐藏您的消息。

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

在您的网页上加上div:

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

这可以在您的重定向页面上。或者,如果你没有重定向,你可以在curernt页面上调用该功能,在这种情况下,你需要将就绪呼叫更改为你自己的呼叫。

答案 2 :(得分:0)

服务器端的Thread.Sleep(num of milliseconds)

或在客户端

的setTimeout(,1250);