如何警告用户他们的网络会话即将超时?

我已经检查过一个解决方案,但我似乎没有任何指向asp.net mvc。 基本上我正在寻找一个解决方案,在会话到期前一分钟通知用户。

理想的解决方案是倒计时通知,可以选择续订会话。

如果倒数计时器到期而用户没有刷新页面,我需要将其记录下来。

像这样的东西:

public class YourController : Controller { public ActionResult TheAction() { ViewData["SessionTimeout"] = Request.Session.Timout; ViewData["SessionWillExpireOn"] = DateTime.Now.AddMinutes(Request.Session.Timeout); return View(info); } } 

还有这个:

 Your session will expire: <%= ViewData["SessionWillExpireOn"].ToString() %>  var sessionTimout = <%= ViewData["SessionTimeout"].ToString(); %>; var approximateStart = new Date(); var notifyAfter = new Date(approximateStart + (sessionTimout - 1)*60*1000); function startCountDown() { setTimout(function() { var now = new Date(); document.getElementById('countDown').style.display = 'inline'; document.getElementById('countDown').innerHTML = "Countdown: " + now.getMinutes(); if (now >= notifyAfter) alert('About to expire...'); }, 5000); } document.onload=startCountDown;  

在记事本中写了View,所以请检查语法。 我也不记得JS中的DateTime内容。

无论如何你应该看到这个想法。