【问题标题】:Response.Redirect doesn't run using Razor in ViewResponse.Redirect 不在视图中使用 Razor 运行
【发布时间】:2015-06-24 21:23:37
【问题描述】:
@{
    if (Session["LoginType"] == null)
    {
       Response.Redirect("~/Account/Login", true);
    }

}

如果 Session 过期,则 Session["LoginType"] 变为 null。 我能抓住那个。 但是下一行再次重定向到登录页面,不起作用。 中断模式下的黄色代码行在其上停止,然后移动到下一行代码(由于 Session["LoginType"] 为空,因此会出错。

有什么想法吗?我编码错了吗?不是真正的 MVC/Razor 方面的专家。

【问题讨论】:

  • 这应该在控制器中完成,而不是在视图中。
  • 啊,你是对的。当我把它放在加载页面的动作中时,它在控制器中工作: return RedirectToAction("Login","Account");如果您将评论作为答案,我会将其作为已接受的答案。

标签: asp.net-mvc-4 session razor response.redirect


【解决方案1】:

您应该在控制器而不是视图中执行此类逻辑。

【讨论】:

  • 谢谢!我接受这个作为答案。它让我直截了当。我还继续并找到了这种 jQuery 方式来弹出一条消息并让用户有机会继续、注销,或者它只会自行注销。 github.com/travishorn/jquery-sessionTimeout
猜你喜欢
  • 1970-01-01
  • 2016-02-22
  • 2015-02-03
  • 1970-01-01
  • 2019-05-14
  • 2023-04-03
  • 1970-01-01
  • 2021-07-16
相关资源
最近更新 更多