C# 允许用户在会话结束前保存

C# 允许用户在会话结束前保存,c#,javascript,asp.net,C#,Javascript,Asp.net,我需要提醒用户会话即将过期,并让他们保存会话数据,如果用户看到警报,如果他碰巧单击了警报框,会话将刷新。但是,如果用户我四处闲逛,过了一会儿又回来,我希望他看到会话过期页面,而不是弹出或单击弹出重定向会话过期页面。 下面的代码是我尝试过的,我对javascript和web应用程序还很陌生,而且还被卡住了。请引导我。先谢谢你 function timeTicker() { idleTime = idleTime + 1; if (idleTime = 30) {

我需要提醒用户会话即将过期,并让他们保存会话数据,如果用户看到警报,如果他碰巧单击了警报框,会话将刷新。但是,如果用户我四处闲逛,过了一会儿又回来,我希望他看到会话过期页面,而不是弹出或单击弹出重定向会话过期页面。 下面的代码是我尝试过的,我对javascript和web应用程序还很陌生,而且还被卡住了。请引导我。先谢谢你

  function timeTicker() {
        idleTime = idleTime + 1;
        if (idleTime = 30) {
            resetTimer;
            window.clearInterval(timerId);
        }

        if (idleTime == 28) {
            window.alert("You have been idle for over 28 mins; your session will expire in next 2 mins, Please save any unsaved data.");

        }

    }

    function resetTimer() {
        idleTime = 0;
    }

    var timerId = window.setInterval(timeTicker, 60000);
    var idleTime = 0;
    var closeWindow = false;
    window.onload = resetTimer;
    //document.onmousemove = resetTimer;
    document.onkeypress = resetTimer;

打开警报对话框后,只有用户才能关闭该对话框。如果需要在会话到期后隐藏警报消息,则除了警报对话框外,还必须以其他方式显示警报消息。例如,您可以使用jQuery UI创建包含警报消息的弹出式对话框消息。一旦整个等待时间结束,您将能够关闭弹出窗口并显示会话过期消息。

alert()
阻止执行。你需要使用一个非阻塞的消息,比如用CSS或jQuery对话框放置在页面中间的div。 此外,您的代码中还有一个错误:

if(idleTime=30){
正在将30分配给
idleTime
。如果(idleTime==30){,您需要
if(idleTime==30){
,尽管我可能会将其更改为
if(idleTime>=30){

我还认为,如果空闲时间为30或更多,您需要重定向并注销用户,而不是清除计时器间隔