2012-07-31 54 views

回答

0

最简单,很常见的解决方案是将用户重定向到一个不同的页面(如“感谢您”页面)一旦你完成插入到数据库:如果用户重新加载页面

Response.Redirect("ThankYou.aspx"); 

这样,他重新加载“谢谢”页面,并且再次在服务器上执行任何操作。

如果你想坚持一个页面,来处理这个问题的另一个常见的方法是使用一个会话变量作为“标志”:

if (Session["inserted_to_db"] == null) 
{ 
    //insert to database... 
    //...... 
    //...... 
    Session["inserted_to_db"] = true; 
} 
else 
{ 
    //already inserted, ignore or throw error 
} 
+0

问题1:感谢ü..可是当我按后退按钮并且再次加载意味着它开始插入相同的值。问题2:虽然客户端错误信息也显示后清除值..谢谢高级 – 2012-07-31 13:04:30

+0

我怀疑许多人会麻烦回去,再次按提交,如果你担心它,然后使用会话标志的第二种方法。不知道你的意思是客户端错误,你能解释一下吗? – 2012-07-31 13:13:35

+0

在提交插入错误意味着我会抛出异常,我处理隐藏文本字段,而窗口onload我显示错误...如果再次刷新它保持错误.. – 2012-07-31 13:38:08