我有插入页面 - 所有验证都正确插入数据。但主要问题是插入后如果有人点击Internet Explorer浏览器上的刷新按钮,数据会再次插入相同的数据,这些数据会在提交按钮上插入
谢谢, Smartdev
答案 0 :(得分:1)
成功执行插入后执行重定向,这不应该发生。否则,您必须自己执行一些过程以确保它不会发生(可能使用状态管理来设置“已保存”标记或其他内容)。
答案 1 :(得分:0)
重定向可行。你可以使用这样的东西:
protected void Page_Load(object sender, EventArgs e)
{
if(dataWasInserted)
Response.Redirect("~/TheSamePage.aspx");
}
答案 2 :(得分:0)
您可以在插入之前向存储过程添加代码以检查数据库。如果您尝试避免的数据已存在,请不要执行插入。
如果您确实希望允许有意重复数据,而不是通过意外刷新,则可以使用时间戳来帮助确定它是否是您要阻止的最近副本。但是,希望您根本不需要数据库中的重复数据,因此我不推荐这种方法。
答案 3 :(得分:0)
亲爱的用户,您必须使用上一页中的以下代码,以避免后退按钮工作。
example...
suppose your page 1 is=x.jsp and page 2 is y.jsp
to restrict x.jsp when u click on y.jsp back button you have to add this code in x.jsp
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</SCRIPT>
</HEAD>
<BODY onload="noBack();"
onpageshow="if (event.persisted) noBack();" onunload="">