跟踪按钮点击次数

时间:2013-07-01 19:32:08

标签: c# asp.net button click

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

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

使用ViewState存储号码。

或者更好 - Session

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