asp.net 重定向前页面不显示
asp.net page does not display before redirect
我有一个 ASP.NET 网络表单,需要用户的用户 ID 和域。然后它将信息发布到第二个页面,然后查询 AD 以获取有关该用户 ID 的信息。我使用会话变量来存储信息,所有这些都完美无缺。我想要的是通过 asp:label 显示消息,等待 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 秒,然后它重定向。有什么想法吗?
我不确定,但我认为这是因为您在 Page_Load 方法中休眠和重定向。尝试在 Page_Load 中设置文本,然后在 LoadComplete 事件中使用线程睡眠和传输。
你走错路了。在 Page_load 中使用 Thread.Sleep 您只是推迟向客户端发送页面。即,客户端机器向服务器发送请求,服务器等待 3 秒(此时客户端什么也没收到并显示空白页面),然后重定向到 default.aspx.
为了在特定时间内显示消息,您应该立即 return 向客户端显示包含您的消息的页面,并执行等待 3 秒然后进行重定向的客户端脚本。
我有一个 ASP.NET 网络表单,需要用户的用户 ID 和域。然后它将信息发布到第二个页面,然后查询 AD 以获取有关该用户 ID 的信息。我使用会话变量来存储信息,所有这些都完美无缺。我想要的是通过 asp:label 显示消息,等待 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 秒,然后它重定向。有什么想法吗?
我不确定,但我认为这是因为您在 Page_Load 方法中休眠和重定向。尝试在 Page_Load 中设置文本,然后在 LoadComplete 事件中使用线程睡眠和传输。
你走错路了。在 Page_load 中使用 Thread.Sleep 您只是推迟向客户端发送页面。即,客户端机器向服务器发送请求,服务器等待 3 秒(此时客户端什么也没收到并显示空白页面),然后重定向到 default.aspx.
为了在特定时间内显示消息,您应该立即 return 向客户端显示包含您的消息的页面,并执行等待 3 秒然后进行重定向的客户端脚本。