响应重定向前的asp.net延迟

响应重定向前的asp.net延迟,asp.net,response.redirect,Asp.net,Response.redirect,是否可以将asp.net页面中的response.redirect延迟5秒 类似delay.response.redirect(“myURL.aspx”)的东西 我需要在页面重定向之前运行jquery动画 我不想使用元刷新,如果我可以帮助它,但如果这是唯一的方法或最好的方法,那么请让我知道 在进行响应之前,谢谢。重定向,添加System.Threading.Thread.Sleep(5000)行 如果您发布到服务器,就无法再影响客户机-服务器所能做的就是等待。睡在web服务器上是非常糟糕的——耗

是否可以将asp.net页面中的response.redirect延迟5秒

类似delay.response.redirect(“myURL.aspx”)的东西

我需要在页面重定向之前运行jquery动画

我不想使用元刷新,如果我可以帮助它,但如果这是唯一的方法或最好的方法,那么请让我知道


在进行响应之前,谢谢。重定向,添加System.Threading.Thread.Sleep(5000)行

如果您发布到服务器,就无法再影响客户机-服务器所能做的就是等待。睡在web服务器上是非常糟糕的——耗尽线程池,对性能不利

您应该做的是延迟客户端。或者,您可以使用AJAX发布到该页面,这是我更喜欢的。使用ajax发布到服务器,然后获取响应并等待5秒(javascript),然后再更改位置。href
您甚至可以从服务器读取新位置(从ajax调用返回的数据)

我在客户机上创建了一个超链接,并从服务器控制该位置的导航。然后我等待客户端上的页面加载,从中提取url,并在一段时间后使用javascript启动重定向(您可以等待动画完成):

客户端

<asp:Content ID="Head" ContentPlaceHolderID="ContentHead" runat="server">
    <script type="text/javascript">
        $(document).ready(function () {
            redirectUrl = $('#mainbody').find('a').attr('href');
            setTimeout(function(){
                window.location.replace(redirectUrl);
            }, 5000);
        });
    </script>
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div id="mainbody">
        <asp:HyperLink ID="redirectUrl" runat="server" Visible="false" />
    </div>
</asp:Content>
您可以用javascript硬编码重定向URL,但我需要能够从服务器控制它

ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", "alert('Cliente cadastrado com sucesso.'); setTimeout(function(){window.location.href ='../../Default.aspx'}, 3000);", true);
是否可以将asp.net页面中的response.redirect延迟5秒 秒

类似delay.response.redirect(“myURL.aspx”)的东西



5=以秒为单位的延迟。

对于非客户端解决方案,即依赖浏览器实现延迟的解决方案,您可以创建包含服务器端延迟的代理页面,然后重定向到最终目标页面

myPostPage.aspx
处理数据,然后调用
response.redirect(“myProxyPage.aspx?d=myDestinationPage.aspx”,false)

然后,
myProxyPage.aspx
可以有一个计时器,
System.threading.Thread.Sleep(“5000”)
,然后重定向到目标页面:
response.redirect(request.querystring(“d”),false)


这将给您的第一页足够的时间在调用最后一页之前完成。

OK。这是可行的,但我实际上需要做的是在重定向之前运行一个javascript动画,这样就不会真正达到我想要的效果。你可以在之后发布你的消息/图像/任何东西,这样它就会显示第二次计数。我喜欢这样,我告诉他们更新书签。。
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", "alert('Cliente cadastrado com sucesso.'); setTimeout(function(){window.location.href ='../../Default.aspx'}, 3000);", true);
<%
response.write("<body onload=""myFunction()""><script>function myFunction()_
{setTimeout(function newDoc()_
{window.location.assign(""http://www.stackoverflow.com"")},5000);}_
</script>")
%>
Response.AddHeader("REFRESH", "5;URL=http://redirectPage.aspx")