注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)
注册或者点击按钮时,怎么防止用户重复提交数据(实例讲解)
发布时间:2016-12-29 来源:查字典编辑
摘要:asp.net实现点击按钮后设按钮不可用并提交复制代码代码如下:客户端加载的时候,重新将这个操作再启动复制代码代码如下:functionco...

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

复制代码 代码如下:

<asp:Button ID="Button1" runat="server" Text="123456" OnClientClick="this.disabled=true;this.form.submit(); " UseSubmitBehavior= "False" />

客户端加载的时候,重新将这个操作再启动

复制代码 代码如下:

<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"

Font-Size="13px" BorderStyle="None" ></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"

UseSubmitBehavior="FALSE" />

<br />

<asp:label id="lblMsg" runat="server"/>

</form>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类