2017-08-17 5 views
1

私のasp.netページには、ユーザーが断続的にデータを入力している場合でもセッションタイムアウト警告が表示されるという問題があります。私たちは、会社の方針として、マスターページでセッションタイムアウト警告が設定されている:aspxページでボタンをクリックするとJavaScriptタイマーがリセットされます

var sessionTimeoutWarning = 45; 
sessionWarningTimer = setTimeout('SessionWarning()', sessionTimeoutWarning * 60 * 1000); 

、私が持っている:

<script type="text/javascript"> 
     window.onload = function() { 
      $('a').filter(function (index) { return $(this).text() === "Month to Date"; }).click(); 

     }; 

     function ValidateAndShowPopup() { 
      if (Page_ClientValidate('grpSubmit')) { 
       SubmitF(); 

      } 
     } 

私は更新パネル内のボタンがあります。

<asp:Button ID="btnSubmitReport" runat="server" Text="Submit" OnClick="btnSubmitReport_Click" ValidationGroup="grpSubmit" OnClientClick="ValidateAndShowPopup()" CssClass="btn" /> 

唯一の解決策は、ボタンクリック(私はしたくないdo)、またはページのjavascriptタイマーをリセットする。 ボタンのクリック時にjavascriptタイマー変数をリセットする方法を教えてください。

+0

'てclearTimeout(sessionWarningTimer);' – quirimmo

+0

チェックアウト[このポスト](https://stackoverflow.com/q/1472705/6139866) –

+0

ASP:onClickの両方を扱うことができないボタンとonClientClickイベント(優雅に)。 ページを再投稿したくない場合は、onClickイベントを削除する必要があります。 しかし、OnClientClickを削除し、registerStartUpscriptを使用してタイマーリセット機能を実行します。 – DaniDev

答えて

0

これはあなたがやろうとしていることですか?

var session; 
 

 
function startSessionTimer() { 
 
\t session = setTimeout(function(){ 
 
    \t alert("Session Expired"); 
 
    }, 2000); 
 
} 
 

 
function stopSessionTimer() { 
 
    clearTimeout(session); 
 
    alert("Session Expiration Stopped"); 
 
} 
 

 
// Immediately start session timer 
 
// startSessionTimer();
<button onclick="startSessionTimer()">Start Timer</button> 
 
<button onclick="stopSessionTimer()">Stop Timer</button>

+0

quirimmoの提案が機能します!ありがとう – SilverFish

関連する問題