这里的会话超时的实际时间是19分钟?
<%= Session.Timeout * 19 * 1000 %>
<script language="javascript" type="text/javascript">
setTimeout('SessionTimeout()', <%= Session.Timeout * 19 * 1000 %>);
function SessionTimeout() {
alert(<%= "'Session time out!!'" %>);
window.location = "Default.aspx"
}
</script>
最佳答案
为了澄清,这是您要执行的操作:
在JavaScript中,用户打开页面19分钟后,您要创建一个警报,警告用户其会话已超时,然后将其重定向到Default.aspx页面。
然后,是的,正如其他人所说的,以下应该为您工作:
<script language="javascript" type="text/javascript">
setTimeout('SessionTimeout()', 19 * 60 * 1000);
function SessionTimeout() {
alert(<%= "'Session time out!!'" %>);
window.location = "Default.aspx"
}
</script>
如果您希望将其与ASP.NET会话超时相关联,并且要少一分钟,那么以下方法将为您工作:
<script language="javascript" type="text/javascript">
setTimeout('SessionTimeout()', <%= Session.Timeout -1 %> * 60 * 1000);
function SessionTimeout() {
alert(<%= "'Session time out!!'" %>);
window.location = "Default.aspx"
}
</script>
但是请注意,通过这种方式,如果用户在1分钟内在警报上按下“确定”,则他们在单击Default.aspx时仍将具有活动会话,因为请求将在超时窗口内发生,并且将重置时钟。