asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。

之前也经常遇到这种问题。但是没有去刻意研究并解决。也知道有很多解决方案。但是都没有去亲自实现。直到现在工作中出现这个棘手问题,才去寻找各种解决方案并研究。

还好网上有很多前辈的经验。现在问题算是解决了。因此做个笔记以防后面还会遇到此种问题。虽然这个解决方法不一定很好,但是还是可以实现的。

点击一个按钮,只让此按钮的事件执行一次,防止用户多次点击,造成多次提交数据。因为此事件的方法执行需要一段时间,如果多次点击会出现连接超时的情况。我的解决方案是点击之后禁用这个按钮,执行完方法后启用。本以为直接设置Enabled就行了,但是这样设置后,事件直接不会执行。因为是服务器空间。其实用js也可以控制。所以现在解决如下。

 protected void Page_Load(object sender, EventArgs e)
        {
                 this.report_output.Attributes["onclick"] = this.GetPostBackEventReference(this.report_output) + ";this.disabled=true;";
                this.data_output.Attributes["onclick"] = this.GetPostBackEventReference(this.data_output) + ";this.disabled=true;";
                this.message.Text = "";

            }

 

在事件方法执行后,执行以下代码

this.report_output.Style.Remove("disabled");
this.data_output.Style.Remove("disabled");

 

时间: 2024-09-16 21:44:20

asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。的相关文章

使用HttpModule来禁用Web表单重复提交

在网速慢或者网站反应慢的情况下,如果提交表单需要超过5秒的时间还未提交成功,多数人会重新点击提交.这样不仅造成错误的数据,还会加剧服务器的压力. 通过使用HttpModule,我们可以在表单处理前,检测一些标志,从而防止用户重复提交数据,再通过一些接口,让用户自己来处理重复提交时,应该如何告诉用户. 通过使用HttpModule,我们也可以在客户端表单提交时,使用DIV覆盖住表单,从UI层防止用户再次单击提交(用户直接F5管不了). 这种方法使用简单,直接把脚本和图片放在指定的目录中,然后在We

注册或者点击按钮时,怎么防止用户重复提交数据

 这篇文章主要是对注册或者点击按钮时,怎么防止用户重复提交数据进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 asp.net实现点击按钮后设按钮不可用并提交  代码如下: <asp:Button ID="Button1" runat="server" Text="123456" OnClientClick="this.disabled=true;this.form.submit(); "  UseSubmitB

PHP防止用户重复提交表单

我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手: 首先从前端做限制.前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效. 第二,我们可以在提交后做redirect页面重定向,即提交后跳

php防止用户重复提交表单_php技巧

我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 效果图:   那么如何规避这中重复提交表单的现象出现呢?我们可以从很多方面入手: 首先从前端做限制.前端JavaScript在按钮被点击一次后禁用,即disabled,这个方法简单的防止了多次点击提交按钮,但是缺点是如果用户禁用了javascript脚本则失效. 第二,我们可以在提交后做redirect页面重定

如何防止用户重复提交数据

数据|重复|重复提交 这篇文章从语法上看,原作者应该是从什么地方翻译过来的. 简单的解决方案:最简单的方式就是当用户提交之后,在你的服务器端控件的代码中使用Response.Redirect("selfPage")语句.但是大多的数包括我都不使用这种方法. 多次提交:请注意:这篇文章并不是有关如何防止在一个页面中多次提交.这篇文章是教你在提交了请求之后如何防止页面进行刷新.情况是这样的,当用户提交了按钮之后,最终用户就不能再点击提交按钮了.但是这样最终用户仍然可以通过点击浏览器的刷新按

防止用户重复提交数据方法总结

php cookie处理方法 如果数据通过了上边的两次验证,说明数据是合法有效的数据.这时候我们把提交的数据串接为一个字符串,并用MD5加密后得到一个MD5的值,接着我们把这个值通过Cookie放进客户端,当用户下一次提交表单的时候我们就重新操作这一步,并且读出Cookie中的MD5值,进行比较,如果相同就可断定用户提交两次提交的表单是相同的,否则替换这个Cookie!  代码如下 复制代码 <?php $value = $_COOKIE["value"]; //读取上一次设置的

几行Asp代码实现防止表单重复提交

重复|重复提交                       用几行Asp代码实现防止表单多次被提交                                   廖家远     在很多情况下都需要防止相同的表单被多次提交,很多人的实现方法都比较复杂(代码数量超过几十行!!)下面提供一种只需使用几行代码的方法,轻松地实现了防止用户刷新多次提交表单和使用后退钮重复多次提交表单.    表单文件formtest.asp    <%    Randomize  '初始代随机数种子    num1=

AJAX避免用户重复提交请求实现方案_AJAX相关

在使用AJAX(jQuery)异步请求数据时,为了避免因某些原因用户同时多次点击按钮,提交重复的请求,我们需要禁用请求提交按钮. 重点:jQuery的 attr 和 removeAttr 两个函数,主要是元素button的disabled属性. Demo: 复制代码 代码如下: <body> <a class="disabled">Button disabeld</a>    <a class="abled">Butt

asp.net防止刷新时重复提交(可禁用工具条刷新按钮)_实用技巧

前段时间遇到了需要禁用刷新的需求,f5按钮就不说了,简单的js就能把它禁用,但是工具条上的刷新按钮却傻傻干不掉. 如果简单的在刷新时重新加载画面,通过window.location.href="url"可以很容易的实现,但是需求是要求在刷新时什么都不做,保留画面的状态,这下子可就复杂化了. asp.net中分辨请求是重新请求还是通过刷新按钮再次请求不是很方便,为了实现这个效果,试过了很多的方式,一下面的两种为例 1. 复制代码 代码如下: private bool pageRefres