嗨伙计们。在我的MVC应用程序中,我正在尝试重定向到登录页面,但它没有重定向,我收到“服务器错误”。
这是javascript:
<script type="text/javascript">
function keepAlive() {
window.clearTimeout(window.sessionKeepAlive);
window.sessionKeepAlive = window.setTimeout(function() {
if(confirm('refresh session?')) {
// submit coding required
} else {
//window.location="/Employee/~/Account/LogOn"
//location.replace("/Employee/~/Account/LogOn");
window.location.href = '<%= Url.Action( "Logout", "Account" ) %>';
}
}, <%= (Session.Timeout - 19) * 60 * 1000 %>);
}
keepAlive();
</script>
此外,我需要代码,如果用户按下“确定”按钮并继续。
答案 0 :(得分:0)
确保您重定向到的位置包括协议,即
window.location.href = 'http://www.yoursite.tld/account/logout';
对于第二位,您可以对心跳页面进行ajax调用以刷新会话
// simplified
try {
var xhr = new XMLHttpRequest();
} catch( e ) {
var xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
xhr.open( 'get', 'http://heartbeat/url', true );
xhr.send( null );
答案 1 :(得分:0)
就我而言,我更喜欢在
中添加web.config的完整路径链接<appSettings>
<add key="BaseURL" value="http://localhost/" />
</appSettings>
在
中的Global.asax中声明一个应用程序变量protected void Application_Start()
{
Application["BaseURL"] = System.Configuration.ConfigurationManager.AppSettings["BaseURL"];
}
现在我可以在整个网站中使用变量了。在你的情况下,你可以简单地使用
window.location.href = '<%=Application["BaseURL"]%>account/logout';