复选框的会话状态始终计算为true

时间:2013-12-04 20:58:34

标签: c# asp.net

我无法获得复选框的正确会话状态。如果选中该复选框,则必须为true,如果未选中则为false,则为典型行为。当它点击按钮点击代码中的if语句时,每次都会评估为true。我知道我遗漏了一些简单的东西,但任何帮助都会受到赞赏。

在Page_Load中:

Session["FbAuth"] = false;

选中复选框时:

protected void chkFbAuth_CheckedChanged(object sender, EventArgs e)
    {
        Session["fbAuth"] = chkFbAuth.Checked;
    }

点击按钮:

protected void btnFbAuth_Click(object sender, EventArgs e)
    {
        var fbAuth = (bool) Session["fbAuth"];
        if (fbAuth == true)
        {
            Session["fbAuth"] = false;
            CheckAuthorization();
        }
    }

1 个答案:

答案 0 :(得分:0)

您需要触发chkFbAuth_CheckChanged来设置会话变量。为此,您需要发生PostBack。确保chkFbAuthAutoPostBack="True"OnCheckChanged="chkFbAuth_CheckChanged"