随笔 - 103  文章 - 1  评论 - 81  阅读 - 46万

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

 

posted on   熊哥club  阅读(143)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2011年8月 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

熊哥club Fork me on GitHub
点击右上角即可分享
微信分享提示