我是ASP.NET的新手,我遇到了问题。我正在努力管理已经写好的网站。当我到达以下行时出现此错误:
if (Session["usertype"].Equals("2"))
{
}
上一页已经分配了 Session["usertype"]
。在这个当前页面上,我松开了所有会话变量(我在调试中检查过它)。
登录后按照以下方式分配会话
Session["usertype"] = "2"
登录后页面,10秒后刷新。那是我放松会话的地方。 请让我知道,这里有什么不妥。
答案 0 :(得分:1)
如果您获得NullReferenceException
,则会话值将以null
的形式返回。您应该检查一下:
var userType = (string)Session["usertype"];
if(userType == null) {
// .. things to do if no session value
} else {
// test "2" etc
}
可能是会话状态被禁用,或者实际上没有设置值。
答案 1 :(得分:1)
检查Session变量是否为Null -
if( Session["usertype"] != null )
{
//Now check your condition here
}
else {
//Perform any operation
}
答案 2 :(得分:0)
您使用的是WebForms还是MVC?在WebForms中,会话状态直到页面Init。
之后才可用答案 3 :(得分:0)
你的过程超过10秒? 您可以更改 IIS中会话的长度 。打开IIS,单击您的网站,选择Session State(ASP.NET选项卡),查看State-Server,更改Time-out(默认值:10秒)