ページの読み込み時にカウンターを 0 に初期化する Web ページがあります。ポストバックごとに、セッションに保存されているカウンターは、値が 4 に達するまで 1 ずつ増加します。基本的に、この背後にある考え方は次のとおりです。ユーザーには、ユーザー名と画面に表示される CAPTCHA 画像を入力する機会が 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 に設定したくありません。カウンターの値はそのままにしておきたい。どうすればこれを行うことができますか?