我有一个简单的asp.net Web表单页面,它插入我的sql server db。我的服务器当时运行速度很慢,我按了几次“插入”按钮,因为我认为没花,但它完成了3次。
所以我从那次互动中得到了重复。我该怎样阻止这个?
谢谢, 杆
答案 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)
我首先评估业务规则是否正确。您确定您不能插入具有相同详细信息的多个记录吗?一般来说,我认为会有一些关于是否可以插入某些内容的验证。如果你可以盲目插入,那么它建议你应能够多次插入相同的数据。
参加资源预订计划。对于给定资源,在给定时间,它只能预订一次。因此,您可能希望阻止人们完成您已完成的工作,并同时将多个记录插入到同一项目的预订表中。
因此,在尝试插入记录之前应该进行一些验证,以确保所选资源在您选择时实际上可用。如果是,请插入记录,否则,不要插入记录,并向用户返回有意义的原因。
如果没有验证,则没有理由阻止用户插入多条记录。