C# 4次无效尝试的错误页面重定向计数器中存在错误

C# 4次无效尝试的错误页面重定向计数器中存在错误,c#,asp.net,redirect,C#,Asp.net,Redirect,我有一个跟踪按钮被点击次数的代码。首次加载页面时,计数器设置为0。每次回发时,计数器都会递增1。我在页面上只有一个按钮 如果用户输入了4次无效的详细信息,他将被重定向到错误页面。否则,他将被重定向到确认页面 这是我的代码: if (!this.IsPostBack) { Session["Count"] = 0; } else { if (Session["Count"] == null) { Session.Abandon(); Res

我有一个跟踪按钮被点击次数的代码。首次加载页面时,计数器设置为0。每次回发时,计数器都会递增1。我在页面上只有一个按钮

如果用户输入了4次无效的详细信息,他将被重定向到错误页面。否则,他将被重定向到确认页面

这是我的代码:

if (!this.IsPostBack)
{
    Session["Count"] = 0;
}

else
{
    if (Session["Count"] == null)
    {
        Session.Abandon();
        Response.Redirect("CheckOutErrorPage.htm");
    }

    else
    {
        int count = (int)Session["Count"];

        if (count == 3)
        {
            Session.Abandon();
            Response.Redirect("CheckOutFailure.aspx");
        }

        else
        {
            count++;
            Session["Count"] = count;
        }
    }
}
一切正常,但如果用户输入3次无效的详细信息,然后在第4次输入有效的详细信息,则会将用户重定向到错误页面(因为他已尝试了4次),而不是确认页面


我怎样才能解决这个问题呢?

我在您的代码中看不到任何指向成功选项的内容


我猜这是在这段代码之后,这段代码在检查它是否有效之前执行,因此不管发生什么,你都会在try#4上选择错误路径。

为什么不将
count==3
更改为
count==4
?我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。这并不是解决你问题的办法,但这听起来像是糟糕的可用性,为什么要在意别人输入的东西不正确(只要他们不是恶意的)?你确定即使输入是正确的,你也没有意外地运行代码吗?@Chris,就像Loren说的那样。详细信息的验证在选项4检查后进行。您是对的。对不起,我工作了一整天,犯了一些愚蠢的错误。谢谢:)