点击插入几次并得到重复

时间:2010-12-10 23:23:50

标签: asp.net asp.net-mvc

我有一个简单的asp.net Web表单页面,它插入我的sql server db。我的服务器当时运行速度很慢,我按了几次“插入”按钮,因为我认为没花,但它完成了3次。

所以我从那次互动中得到了重复。我该怎样阻止这个?

谢谢, 杆

2 个答案:

答案 0 :(得分:1)

将按钮的onClick绑定到javascript并禁用或隐藏按钮,并可选择显示“Please Wait ..”之类的消息以避免多次点击

代码背后:

Button.Attributes.Add("onclick", "fn_OkClick();");

ASPX文件:

<script language="javascript" type="text/javascript">
function fn_OkClick()
{
   var okieButton = document.getElementById('<%=Button.ClientID%>');
   okieButton.style.display = 'none';
}
</script>

答案 1 :(得分:0)

我首先评估业务规则是否正确。您确定您不能插入具有相同详细信息的多个记录吗?一般来说,我认为会有一些关于是否可以插入某些内容的验证。如果你可以盲目插入,那么它建议你能够多次插入相同的数据。

参加资源预订计划。对于给定资源,在给定时间,它只能预订一次。因此,您可能希望阻止人们完成您已完成的工作,并同时将多个记录插入到同一项目的预订表中。

因此,在尝试插入记录之前应该进行一些验证,以确保所选资源在您选择时实际上可用。如果是,请插入记录,否则,不要插入记录,并向用户返回有意义的原因。

如果没有验证,则没有理由阻止用户插入多条记录。