这里的会话超时的实际时间是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时仍将具有活动会话,因为请求将在超时窗口内发生,并且将重置时钟。

09-07 21:46
查看更多