C# 跟踪按钮点击次数
假设我有一个带有验证码图像的页面 我想让用户尝试输入代码三次,否则他就不能再这样做了 如何跟踪“确认”按钮被单击的次数。“确认”按钮必须在每次单击时执行回发到服务器的操作 使用JavaScript并不好,因为如果用户重新加载页面,计数器将设置为零。如何做到这一点?请使用存储号码 或者更好C# 跟踪按钮点击次数,c#,asp.net,button,click,C#,Asp.net,Button,Click,假设我有一个带有验证码图像的页面 我想让用户尝试输入代码三次,否则他就不能再这样做了 如何跟踪“确认”按钮被单击的次数。“确认”按钮必须在每次单击时执行回发到服务器的操作 使用JavaScript并不好,因为如果用户重新加载页面,计数器将设置为零。如何做到这一点?请使用存储号码 或者更好 Session的优点是它存储在服务器(AFAIK)上,因此不会被篡改,而且即使在重新加载页面时它也会保持不变。这应该是非常简单的。首先将计数器设置为零,然后在后续回发时更新: if (!this.IsPostB
Session
的优点是它存储在服务器(AFAIK)上,因此不会被篡改,而且即使在重新加载页面时它也会保持不变。这应该是非常简单的。首先将计数器设置为零,然后在后续回发时更新:
if (!this.IsPostBack) { Session["RetryCount"] = 1; }
else
{
int retryCount = (int)Session["RetryCount"];
if (retryCount == 3) { // do something because it's bad }
else { retryCount++; Session["RetryCount"] = retryCount; }
}
谢谢:)我没想过要用session来做。非常感谢:)感谢您的帮助Michael:)这样即使用户从浏览器刷新页面,也可以跟踪按钮的点击次数。这是否正确?@Matthew,是的,因为刷新浏览器窗口将被视为回发。ViewState为+1,请记住,如果用户从头开始重新进入此页面,它将被重置为零。为了保证安全,需要启用ViewState加密。只要需求可以接受,我会选择它而不是会话,以避免将其存储在服务器上的开销。