刷新页面,不发送POST数据(ASP.NET)

时间:2012-12-21 07:52:23

标签: javascript asp.net postback

如何在不重新发送POST数据的情况下刷新和重新加载页面?

我尝试location.reload()在Chrome上运行得非常好(这是开发时的测试环境)。但是IE和Firefox在JS中进入了无限循环 - 重新发布了大量垃圾/重复数据。

注意:但是,我只想刷新页面以清除所有表单内容。我还在提交后注册了一个启动脚本,它将显示数据已成功添加的警报消息。

HELP!

9 个答案:

答案 0 :(得分:13)

试试这个:

window.location.href = window.location.href;

答案 1 :(得分:6)

location.href = location.href + '?' + Math.random();

这应该有用。

答案 2 :(得分:4)

在您的代码中添加:

Response.Redirect(Request.RawUrl)

答案 3 :(得分:2)

如果您只想清除表单,为什么不:

<input type="reset" value="Clear Fields">

你也可以使用:

document.getElementById('<%=form1.ClientID%>').reset();

除非你还需要做其他事情,否则看起来很浪费重新加载页面。

答案 4 :(得分:1)

添加以下内容:

Server.Transfer(Request.RawUrl);

答案 5 :(得分:1)

以下内容将解决您的问题:

Server.Transfer(Request.RawUrl);

答案 6 :(得分:0)

使用location.reload(true)。这个“硬”重新加载页面..

答案 7 :(得分:0)

我也尝试重新加载,并重新加载(true)两者都没有完全做我想要的。

我已经看到Location Object有其他方法(而不是重新加载),因为我想在&#34; get&#34;我刚刚做了:

location.assign(window.location); 

到目前为止似乎正在做我想要的事情,重新加载同一页面而不再提交值。我的用例是会话过期时对服务器的ajax调用。我显示一条错误消息,说明会话丢失,然后我希望页面重新加载。

答案 8 :(得分:0)

简单方法:

history.replaceState(null, document.title, location.href)