What you need to do, is start a javascript timer on each page load, and then
update the timer every second until the session expires. If the user
navigates to a different page, the clock will reset as they are actively
using the session.
Create a timers javascript file and put the following two functions in it.
This script must be referenced in every page on which you want to show the
popup. I.e. save it as "includes/timers.js" and then each page must
reference it using <script language="JavaScript"
src="includes/timers.js"></script>.
function startClock()
{
dWatch = 0;
dStarted = new Date();
}
function updateClock(iTimeOutAlert)
{
setTimeout("updateClock('" + iTimeOutAlert + "');", 100);
dNow = new Date();
dWatch = dNow.getTime() - dStarted.getTime();
dClock = Math.round(dWatch/1000);
if (dClock == iTimeOutAlert)
{
alert("Warning!\n\nYour session has expired.\nRedirecting to login
page...");
window.location.href = "loginpage.aspx";
}
}
Once this is done, you need to modify pages using the alert to call
startClock() and updateClock(). You can do this using the following (in the
Page_Load function):
[C#]
int intTimeOut = Session.Timeout*100;
string strTimerScript = "startClock();updateClock(" + intTimeOut.ToString()
+ ");"
Page.RegisterStartupScript("timerScript", strTimerScript);
[VB.NET]
Dim intTimeOut as Integer = Session.Timeout*100
Dim strTimerScript As String = "startClock();updateClock(" &
intTimeOut.ToString() & ");"
Page.RegisterStartupScript("timerScript", strTimerScript)
This code sample is constructed partly from memory, and partly from some
code snippets I had floating around. Haven't used it for a coupla years
now, though it worked perfectly back then, but it was being used on a
classic ASP website, not .NET. That shouldn't be an issue though, as it's
all client-side code. If there's any problems, let me know, and I'll try
and help :-)
Regards,
Mun
"Nedu N" <ne****@hotmail.com> wrote in message
news:un**************@TK2MSFTNGP11.phx.gbl...
Thanks Mun.
I was trying to use Timer object for Session Timeout popup and redirect
already, but it was not not working...
would you give me exaple of how to code time controls to popup a message
and redirect to login page when the session times out..
(using Session.Timeout property to determine the session timout).
Thanks
Nedu