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>

标签:
防止重复提交

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。