2014-01-09 37 views
0

我有一個要求,當會議過期時間還剩一分鐘時,向用戶顯示彈出窗口。假設會話過期時間爲5分鐘,我需要顯示一個彈出窗口「您的會話將在一分鐘後過期」,請點擊這裏如果您想繼續,否則點擊取消。所以,如果用戶點擊確定,時間應該再次自動刷新,如果取消,則不需要做任何事情。 爲此,我已經在佈局與會話相關的邏輯

var myVar = setInterval(function() { myTimer() }, 240000); 
function myTimer() { 
    var r = confirm("Session will expire in a minute. will you like to continue working?"); 
    if (r == true) { 
     var _Id = $("#Id").val(); 

     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "../Home/ResetUser", 
      data: "{'User_ID':'" + _Id + "'}", 
      dataType: "json", 
      success: function (data) { 
       if (data.Data == 'Done') { 
       } 
      }, 
      error: function (xhr) { 
      } 
     }); 
    } 
    else { 
     window.clearInterval(myVar); 
    } 

做這樣的事情在我的共享文件夾,但我有一個問題,那就是我沒有在所有的頁面得出相同的佈局。有些模塊有不同的佈局,有些頁面不需要任何佈局。因此,我需要讓不同的佈局或不使用佈局的頁面以不同的佈局運行。

如果我對不同的佈局保持不同的腳本,它會正常工作嗎? 另外假設我已經登錄,並設置了一個會話變量。現在時間設置爲5分鐘 和用戶來到主頁,這是不使用佈局,我保持上述腳本。 我在這個頁面添加了不同的腳本,並且腳本功能時間開始了。

但是隨後用戶轉到另一個頁面,那麼會話時間將刷新? 我必須在頁面上加載我的上述腳本功能? 我在做正確的事情。

+1

僅供參考,它被命名爲「.NET」,而不是「網點」。另外,標題中不需要它,因爲它在標籤中。 –

+0

腳本有輕微的邏輯瑕疵 - 如果用戶在確認出現時離開鍵盤,並在10分鐘後返回 - 如果點擊「是」繼續工作,則不會刷新其會話,因爲它們已經超時。不確定JS確認是否是最佳選擇 - 如果會話過期(例如重定向到登錄),您可能還需要一些功能才能採取行動。 – Paddy

回答

0

嗨您可以在_viewstart.cshtml文件中編寫腳本。

這會爲每個請求,不論您使用

佈局頁面被執行但隨後用戶去到另一個頁面,然後會話時間會刷新?我必須在該頁面上加載我的上面的腳本功能?

是的當用戶刷新頁面或再次請求服務器會話時間將被重置。

這是實現您的要求的一種方式。