您的位置:首页 > 其它

怎样防止新增后刷新重复插入记录

2008-03-14 22:48 190 查看
我们在新增后,如果页面没有转走,手动刷新或重复点击按钮,都可能导致重复插入记录到数据库,特别是在网速很慢时,点了新增后没反映,多数人都会再点一次,或刷新页面,结果就插入了多条相同的记录.

以下代码可以解决以上问题,以前我在写asp时也是这样实现的,基本上转成.net后,还是一样的代码.

首先我们需要在aspx的form中加入一个隐藏表单:


<input type=hidden name=formid value='<%=DateTime.Now %>' />

然后在aspx.cs中的新增按钮的处理代码之前加入以下代码:


protected void btn_Add_Click(object sender, EventArgs e)




...{


//以下代码可以保证新增后右键刷新将不会重复插入记录.


string formid = HttpContext.Current.Request["formid"];


if (formid == null)




...{


Response.Write("提示:表单没有指定formID");


Response.End();


}


else




...{


if (Session["formID"] == null)




...{


Session["formID"] = formid;


}


else




...{


if (Session["formID"].ToString() == formid.ToString())




...{


Response.Write("<font color=red>:" + formid + "此表单已经提交到服务器,请不要重复提交或刷新。</font><a href="javascript:window.location=window.location">返回表单!</a>");


Response.End();


}


else




...{


Session["formID"] = formid;


}


}


}


//----------------以下写新增插入代码


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: