会话过期后在视图页面中管理会话变量

时间:2016-03-02 10:33:42

标签: asp.net-mvc session session-state asp.net-session

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

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

在视图中

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

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

  

发生了'System.NullReferenceException'类型的异常   Inex.dll但未在用户代码中处理

     

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

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

1 个答案:

答案 0 :(得分:1)

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

在您的视图中

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

}

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