单击按钮重置JavaScript计时器

时间:2017-08-17 17:32:27

标签: javascript asp.net ajax session-timeout

我的asp.net页面出现问题,即使用户间歇性地输入数据,也会显示会话超时警告。我们在主页面中设置会话超时警告作为公司政策:

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

在aspx页面上,我有:

    <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" />

只有两个解决方案是刷新按钮点击页面(我不想这样做),或者重置页面上的javascript计时器。 请指导如何在按钮单击时重置javascript计时器变量。

1 个答案:

答案 0 :(得分:0)

这是你想要做的吗?

&#13;
&#13;
var session;

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

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

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