跟踪按钮点击次数

我们假设我有一个带有CAPTCHA图像的页面。

我想让用户尝试输入代码三次,否则他不再允许这样做。

如何跟踪单击“确认”按钮的次数。 每次单击时,“确认”按钮都必须对服务器执行回发。

使用JavaScript并不好,因为如果用户重新加载页面,计数器将设置为零。 怎么能这样呢?

这应该是非常直接的。 首先将计数器设置为零,然后在后续回发中更新它:

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; } } 

使用ViewState存储数字。

或者更好 – 会话 。

Session的优点是它存储在服务器(AFAIK)上,因此它不会被篡改,并且即使在重新加载页面时它也会持久存在。