重定向之前不显示asp.net页面

时间:2015-01-14 09:51:01

标签: c# asp.net

我有一个ASP.NET网络表单,用于请求用户的用户ID和域。然后,它会将信息发布到第二个页面,然后查询AD以获取有关该用户ID的信息。我使用会话变量来存储信息,所有这些都完美无缺。我想要的是通过asp:标签显示消息,等待3秒然后重定向。

我拥有的是:

protected void Page_Load(object sender, EventArgs e)
    {
        if (PreviousPage == null)
        {
            tblAccountStatus.Visible = false;
            lblUserNotFound.Text = "No user ID was submitted, redirecting back to the start page.";
            Response.BufferOutput = true;
            System.Threading.Thread.Sleep(3000);
            Server.Transfer("default.aspx");
...

这很好但是没有显示消息。我得到的只是一个3秒的空白页然后重定向。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我不确定,但我认为这是因为您正在使用Page_Load方法进行睡眠和重定向。尝试在Page_Load中设置文本,然后在LoadComplete事件中使用线程sleep和transfer。

答案 1 :(得分:1)

你走错了路。在Page_load中使用Thread.Sleep,您只需将页面发送推迟到客户端即可。即,客户端机器向服务器发送请求,服务器等待3秒(此时客户端什么都没有收到并显示空白页面),然后重定向到default.aspx。

为了在一定时间内显示消息,您应立即将包含消息的页面返回到客户端,然后执行等待3秒的客户端脚本,然后进行重定向。