asp.net c#提交表单后会话注销

asp.net c#提交表单后会话注销,c#,asp.net,forms,session,dynamic,C#,Asp.net,Forms,Session,Dynamic,好吧,我的表格有问题。 我在一页上收集了一些表格。活动选项会根据您选择的选项动态更改。然而,我的问题是,无论何时按下表单中的按钮,它都会注销 我不确定它是否正在重置会话变量。但我的页面加载方法中也有以下内容: // Check if the user is logged in if (!IsPostBack) if ((Convert.ToBoolean(Session["Check"]) == false) || Session["Check"] == null) Re

好吧,我的表格有问题。 我在一页上收集了一些表格。活动选项会根据您选择的选项动态更改。然而,我的问题是,无论何时按下表单中的按钮,它都会注销

我不确定它是否正在重置会话变量。但我的
页面加载方法中也有以下内容:

// Check if the user is logged in
if (!IsPostBack)
    if ((Convert.ToBoolean(Session["Check"]) == false) || Session["Check"] == null)
        Response.Redirect("/Login.aspx");
我完全不知道为什么会这样

// Check if the user is logged in
object check = Session["Check"];

//acctually, you should probably take out the if !isPostBack.. 
//and always do the check
if (!IsPostBack && check == null || Convert.ToBoolean(check) == true)
{
    Response.Redirect("/Login.aspx");
}

首先,先进行空检查。如果要这样写,什么是
检查
?更具体地说,在调试器中检查
check
类型

因此…在第三行上放置一个断点,看看它是否触发?您必须将
会话[“check”]
设置为false的null。创建会话的Chceck逻辑。它可能在另一页上。