是否可以将asp.net页面中的response.redirect延迟5秒?
类似delay.response.redirect(“myURL.aspx”)
我需要在页面重定向之前运行jquery动画。
如果我能提供帮助,我不想使用元刷新,但如果这是唯一的方法或最好的方式,那么请告诉我。
感谢
答案 0 :(得分:4)
ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "click", "alert('Cliente cadastrado com sucesso.'); setTimeout(function(){window.location.href ='../../Default.aspx'}, 3000);", true);
答案 1 :(得分:2)
在做Response.Redirect之前,添加System.Threading.Thread.Sleep(5000)的行;
答案 2 :(得分:2)
如果您发布到服务器,则无法再影响客户端 - 所有服务器都可以做的就是等待。在网络服务器上睡觉非常糟糕 - 耗尽线程池,对性能不利。
你应该做的是延迟客户。或者,您可以使用AJAX发布到该页面 - 这是我更喜欢的那个。使用ajax发布到服务器,然后在更改location.href之前获取响应并等待5秒(在javascript中) 您甚至可以从服务器读取新位置(来自ajax调用返回的数据)
答案 3 :(得分:2)
Response.AddHeader("REFRESH", "5;URL=http://redirectPage.aspx")
5 =以秒为单位的延迟。
答案 4 :(得分:0)
我在客户端上创建了一个Hyperlink,并从服务器控制了它的NavigateURL。然后我等到客户端上的页面加载,从中提取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>
服务器强>
redirectUrl.NavigateUrl = "ValentinesDay.aspx";
您可以在javascript中对重定向网址进行硬编码,但我需要能够从服务器对其进行控制。
答案 5 :(得分:0)
是否可以将asp.net页面中的response.redirect延迟5 秒?
类似delay.response.redirect(“myURL.aspx”)
<%
response.write("<body onload=""myFunction()""><script>function myFunction()_
{setTimeout(function newDoc()_
{window.location.assign(""http://www.stackoverflow.com"")},5000);}_
</script>")
%>
答案 6 :(得分:0)
对于非客户端解决方案,即依赖浏览器实现延迟的解决方案,您可以创建一个包含服务器端延迟的代理页面,然后重定向到最终目标页面。
myPostPage.aspx
处理数据,然后调用response.redirect("myProxyPage.aspx?d=myDestinationPage.aspx", false)
然后myProxyPage.aspx
可以有一个计时器System.threading.Thread.Sleep("5000")
,然后重定向到目标网页:response.redirect(request.querystring("d"), false)
这应该让你的第一页有足够的时间在最后一页被调用之前完成。