在Response.redirect之后会话变为空

时间:2013-05-13 06:36:53

标签: asp.net database session null

我设置了两个我从数据库中填充的会话:

    Session("username") = reader.Item("user_name").ToString 
    Session("department") = reader.Item("user_department").ToString

根据用户登录的部门(IT部门,客户服务等)添加限制

会话可以从LogIn.aspx格式读取到Default.aspx格式

但在其他页面中:

    IF Session("Department")<>"IT"
    Response.Redirect("LogIn.aspx")
    End If

重定向到LogIn.aspx,Session(“Department”)等于Nothing

为什么会这样做?我尝试在代码中搜索缺少的内容,但找不到任何内容。

2 个答案:

答案 0 :(得分:0)

而不是这个

IF Session("Department")<>"IT"

使用此

IF Session("department")<>"IT"

拼写错误(键区分大小写)。

并使用如此安全的条件

If Session("department") IsNot Nothing AndAlso Not Session("department").ToString().Equals("IT") Then

答案 1 :(得分:0)

密钥区分大小写,因此将其更改为“department”。目前它已设置为“部门”