当前位置: 移动技术网 > IT编程>开发语言>.net > 注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)

注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)

2017年12月12日  | 移动技术网IT编程  | 我要评论

单人房四人床,上海宠物论坛,百里挑一妞妞

asp.net实现点击按钮后设按钮不可用并提交

复制代码 代码如下:

<asp:button id="button1" runat="server" text="123456" onclientclick="this.disabled=true;this.form.submit(); "  usesubmitbehavior= "false"  onclick="button1_click" />

客户端加载的时候,重新将这个操作再启动
复制代码 代码如下:

    <script language="javascript" type="text/javascript">
        function controlbutton(flag) {
            var btnobj = document.getelementbyid("button1");
            btnobj.disabled = flag;   
        }

    </script>
</head>
<body onload="controlbutton(false);">

后台代码:
复制代码 代码如下:

protected void button1_click(object sender, eventargs e)
        {
            thread.sleep(3000);
            response.write("123213<br>");
            response.write("123213<br>");
            response.write("123213<br>");
        }

如果页面按钮很多,那么可以采用另一种方式:

后台page_load代码:

复制代码 代码如下:

this.btnsend.attributes.add("onclick", this.getpostbackeventreference(this.btnsend) + ";this.disabled=true; ");

前台button的代码:
复制代码 代码如下:

 <asp:button id="btnsend" runat="server" width="80px" forecolor="white"
                text="发送" backcolor="#376091" bordercolor="#ffffff" font-bold="true"
                style="height: 24px" font-size="13px" borderstyle="none"   onclick="btnsend_click" ></asp:button>

因为控件的this.disabled设置后,控件为禁用状态,无法在回发调用后台的事件方法,所以必须用getpostbackeventreference先进行回调后台的事件方法后,再调用disabled=true。

asp.net usesubmitbehavior 属性

定义和用法
usesubmitbehavior 属性规定按钮控件使用客户端浏览器内建的提交功能,还是使用 asp.net 的 postback 机制。

该属性被设置为 true,如果控件使用浏览器的提交机制。否则为 false。默认值是 true。

当设置为 false 时,asp.net 会添加一段客户端脚本来回传该表单。

当 usesubmitbehavior 属性为 false 时,控件开发人员可以使用 getpostbackeventreference 方法来返回 button 的客户端回发事件。getpostbackeventreference 方法返回的字符串包含客户端函数调用的文本,可以插入到客户端事件处理程序中。

语法
<asp:button usesubmitbehavior="true|false" runat="server" /> 实例
下面的例子使用 asp.net 的 postback 机制:

复制代码 代码如下:

<script runat="server">
sub submitbtn(obj as object, e as eventargs)
  lblmsg.text = "submitted using the asp.net postback mechanism."
end sub
</script>

<form runat="server">
click the button:
<asp:button id="button1" runat="server"
text="submit" onclick="submitbtn"
usesubmitbehavior="false" />
<br />

<asp:label id="lblmsg" runat="server"/>
</form>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网