首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Button.Enabled = false是慢的,允许双击

Button.Enabled = false是慢的,允许双击
EN

Stack Overflow用户
提问于 2013-11-28 07:55:53
回答 4查看 265关注 0票数 0

我试图运行一个网络实验,使用两人互动。为了做到这一点,不允许双击是至关重要的。我使用以下代码(C#,ASP.NET):

代码语言:javascript
复制
            protected void decisionM2Button_Click(object sender, EventArgs e)
            {
            decisionM2Button.Enabled = false;
            decisionM1Button.Enabled = false;
            decisionP0Button.Enabled = false;
            decisionP1Button.Enabled = false;
            decisionP2Button.Enabled = false;
            }

当我在本地主机上运行应用程序时,按钮会很快被禁用,以防止任何双击。在服务器上,速度不够快,当点击2-3个按钮足够快时,整个应用程序/实验就被卡住了。

有什么办法解决这个问题吗?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-28 08:23:46

客户端的解决方案速度很快,但也可以轻松绕过。

如果您对有效性感兴趣(显然您感兴趣,否则您只会告诉您的玩家不要点击两次,该死!: ),最好的方法是确保只进行第一次点击计数。根据应用程序的不同,会话可能足以满足您的需要--在第一次单击时,在会话中设置一个值。每个按钮将首先检查会话,如果期望值已经存在,则立即返回。然后,您可以在适当的时候重置会话。

当然,还有很多其他的方法来存储这种状态,但是我必须更多地了解你到底在做什么,以及在什么样的环境中。

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 07:59:17

一旦点击完成,禁用它的整数,尝试分配一个将隐藏it..this的CSS类可能足够快。

您可以动态地将css设置为按钮,如下所示:

代码语言:javascript
复制
 button.css="cssClassname";

通过动态java脚本可以做的另一件事..。调用javscript函数,并从客户端而不是服务器端禁用它。

希望这有帮助..。

票数 0
EN

Stack Overflow用户

发布于 2013-11-28 08:04:33

JavaScript / JQuery将是您的选择,尽管客户端可以通过外部工具进行修改,所以请考虑这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20260569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档