当我刷新页面时,最后一个事件也被“重新加载”,例如尝试将相同的数据插入数据库。
我怎样才能避免这种情况?(使用 C#)
最简单和最常见的解决方案是在您完成插入数据库后将用户重定向到不同的页面(例如“谢谢”页面):
Response.Redirect("ThankYou.aspx");
这样,如果用户重新加载页面,他会重新加载“谢谢”页面,并且不会再次在服务器上执行任何操作。
如果你想坚持一页,另一种处理问题的常用方法是使用 Session 变量作为“标志”:
if (Session["inserted_to_db"] == null)
{
//insert to database...
//......
//......
Session["inserted_to_db"] = true;
}
else
{
//already inserted, ignore or throw error
}