点击一下按钮,我显示一个标签,显示消息“Please wait”,我正在做一个Thread.sleep 3秒钟,然后执行response.redirect到另一个页面。代码如下:
lblmsg.Visible = true;
Thread.Sleep(3000);
Response.Redirect("demo2.aspx");
我的理解是,标签必须显示然后处理等待3秒然后重定向?让我知道为什么这不起作用,以及解决方法是什么。
答案 0 :(得分:2)
这是服务器端代码,因此lblmsg.Visible = true;
设置标签可见,但此标签尚未发送到浏览器,因此最终用户无法看到它。
以下是发生的事情:
您可以考虑在将请求发送到服务器之前使用jQuery在浏览器端隐藏和显示消息 - 类似这样(或者用按钮替换链接):
<script>
$(document).ready() {
$("#someLink").click(function() {
$("#waitMessage").show();
});
});
<script>
<p id="waitMessage" style="display:none;">Please wait</p>
<a id="someLink" href="pagewithwait">Do stuff</a>