0

会话过期后,我必须在视图页面中管理会话变量在控制器中

public ActionResult See()
{
   Session["Name"] = "Mani";
   return View();
}

在视图中

@if(Session["Name"] != null)
{
    Session["Name"]
}

我工作正常,直到会话到期。但是当会话过期时,它会显示错误

Inex.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理

附加信息:对象引用未设置为对象的实例。

会话到期时如何注销用户。

4

1 回答 1

1

使用 try catch 并在 catch 中重定向回登录页面……这也是检查空异常的好方法……

在你看来

@try{
       <p>@Session["Name"].ToString()</p>
}
catch(Exception)
{

}

无需检查 if else .. 同样,当发生异常时,它会捕获并且应用程序将继续而不会中断,如果没有进行任何重定向.. 如果您觉得会话已过期,则将用户重定向到登录页面..

于 2016-03-02T10:43:35.330 回答