我有一个网页,在页面加载时,将计数器初始化为 0。在每次回发时,保存在会话中的计数器递增 1,直到达到值 4。基本上,这背后的想法是用户有 4 次机会输入用户名和屏幕上显示的验证码图像。如果用户失败了 4 次(因此使用了计数器),他将被重定向到错误页面。
这是我的页面加载中的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
Label_Error.Visible = false;
Session["Count"] = 0;
}
else
{
if (Session["Count"] == null)
{
Session.Abandon();
Response.Redirect("CheckOutErrorPage.htm");
}
else
{
int count = (int)Session["Count"];
count++;
Session["Count"] = count;
}
}
}
单击按钮时,正在检查 count == 4。现在代码工作正常。如果用户点击按钮 4 次,他就不再被允许。如果用户点击刷新按钮,唯一的问题就会出现。事实上,一旦用户点击刷新,计数器设置为 0,他还有 4 次尝试。我怎样才能阻止这种情况发生?我不希望在页面刷新时将计数器设置为 0。我希望计数器的值保持原样。请问我该怎么做?