欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-31 14:46:28
asp.net实现点击按钮后设按钮不可用并提交 复制代码 代码如下:

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>

上一篇: 19个MySQL性能优化要点解析

下一篇: