在一个模型类中,我有成员 DateTime TimeExpired。如何在时间到期时自动调用某些操作方法?当时间到期时,我需要进行一些计算并将其存储在数据库中。等式该时间段可以是一天、一个月等。
最佳答案
DateTime TimeExpired
这不是使用 JavaScript 的好方法。
1) 我希望这个日期是用 Utc 设置的,例如:
model.TimeExpired = DateTime.UtcNow.AddMinutes(10);
否则你会在客户端遇到问题。我强烈建议删除这段代码并将其重写为
DateTimeOffset TimeExpiredUtc
2) 当客户端上有 UTC 日期时间时,可以使用 moment.js解析时间并设置超时的库:
// get number of milliseconds elapsed since 1 January 1970 00:00:00 UTC
var now = moment().utc().valueOf();
// parse string object and get number of milliseconds
var when = moment(TimeExpiredUtc).valueOf();
// calculate the difference
var timeout = when - now;
setTimeout(function() {
// place your ajax code to call asp.net mvc action here
}, timeout);
我不确定上面的代码是否正确,但你明白了。
3) 请记住,如果客户端关闭选项卡,则不会调用此方法。我希望你没事。因为如果不是,您需要完全不同的方法。
关于javascript - 时间到期时调用操作方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28782943/