【发布时间】:2018-01-29 05:32:59
【问题描述】:
我想在 2 分钟不活动后重定向我的页面,为此我使用以下代码每 2.5 分钟 ping 一次控制器,如果会话已过期,我将重定向到原始登录页面:
`<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script language="javascript" type="text/javascript">
var ReqTime =@Session.Timeout
ReqTime = ReqTime * 60 * 1000 + (.5 * 60 * 1000);
$(function () {
setInterval(CheckSession, ReqTime);
});
function CheckSession() {
$.post('@Url.Action("SessionInfo","Home")', null, function () {
console.log("Time");
});
}
</script>
控制器:
public ActionResult SessionInfo()
{
if (Session["LoginUserName"]==null)
{
return RedirectToAction("Index","Home");
}
}
此代码不会重定向到主页/索引。你能告诉我哪里出错了吗?
【问题讨论】:
-
您是否检查了浏览器控制台和网络选项卡,是否有任何错误?通话正在进行吗?
-
您正在返回 $post 上 index home 的内容。如果你打印它的结果,你会注意到它
-
没有错误。即使在调试模式下,控件似乎也命中了 RedirectToAction("Index","Home")。但不会发生重定向。谢谢@PSK
-
@DianaYsabel 你是对的。你能推荐一个替代重定向的方法吗?
标签: c# jquery .net asp.net-mvc session-timeout