我已经创建了一个酒店房间预订网站。假设想要预订房间的人有30分钟的时间来做这件事,30分钟后,该网站将为他停止预订会议;在此预订期间,他将通过几个网页填写信息。 有没有办法创建一个可以在几个页面中计算30分钟的计时器?
答案 0 :(得分:0)
当用户在提交页面后重新加载页面时,除非您拥有单页面应用程序,否则计时器将始终重新初始化。
另一种简单的方法是在用户开始填写表单时(或者初始阶段)存储具有日期时间值的cookie。你可以这样创建它,
// Set the cookie
HttpCookie cookie = new HttpCookie("date");
// Add the value
cookie["dateValue"] = DateTime.Now.ToString();
// Add the cookie
Response.Cookies.Add(cookie);
然后你可以检查这个cookie和(成功转换到DateTime
对象后)你可以检查用户是否在他的30分钟试用期内有一些时间或者他是否迟到了。您可以使用此代码
// This check would minimize one error
if(Request.Cookies["data"]["dateValue"] != null) {
var time = Convert.ToDateTime(Request.Cookies["data"]["dateValue"]);
} else {
// Maybe cookie got removed.
}
这样您就可以在ASP.NET Web应用程序中设置此功能。