我试图运行一个网络实验,使用两人互动。为了做到这一点,不允许双击是至关重要的。我使用以下代码(C#,ASP.NET):
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个按钮足够快时,整个应用程序/实验就被卡住了。
有什么办法解决这个问题吗?
谢谢!
发布于 2013-11-28 08:23:46
客户端的解决方案速度很快,但也可以轻松绕过。
如果您对有效性感兴趣(显然您感兴趣,否则您只会告诉您的玩家不要点击两次,该死!: ),最好的方法是确保只进行第一次点击计数。根据应用程序的不同,会话可能足以满足您的需要--在第一次单击时,在会话中设置一个值。每个按钮将首先检查会话,如果期望值已经存在,则立即返回。然后,您可以在适当的时候重置会话。
当然,还有很多其他的方法来存储这种状态,但是我必须更多地了解你到底在做什么,以及在什么样的环境中。
发布于 2013-11-28 07:59:17
一旦点击完成,禁用它的整数,尝试分配一个将隐藏it..this的CSS类可能足够快。
您可以动态地将css设置为按钮,如下所示:
button.css="cssClassname";通过动态java脚本可以做的另一件事..。调用javscript函数,并从客户端而不是服务器端禁用它。
希望这有帮助..。
发布于 2013-11-28 08:04:33
JavaScript / JQuery将是您的选择,尽管客户端可以通过外部工具进行修改,所以请考虑这一点。
https://stackoverflow.com/questions/20260569
复制相似问题