2

让我们假设我有一个带有验证码图像的页面。

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

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

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

4

2 回答 2

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; }
}
于 2013-07-01T19:36:37.180 回答
4

使用ViewState存储数字。

或者更好的是- Session

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

于 2013-07-01T19:35:49.707 回答