Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
让我们假设我有一个带有验证码图像的页面。
我想让用户尝试输入3次代码,否则不允许他再这样做。
如何跟踪单击“确认”按钮的次数。每次单击“确认”按钮时,都必须向服务器执行回发。
使用 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。
优点Session是它存储在服务器(AFAIK)上,因此不能被篡改,并且即使在重新加载页面时它也会持续存在。
Session