javascript - 时间到期时调用操作方法

标签 javascript asp.net-mvc

在一个模型类中,我有成员 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/

相关文章:

javascript - 链接到特定幻灯片

javascript - 正在使用 && 和 ||快捷方式 typeof == "undefined"在 javascript 中检查稳定?

asp.net-mvc - 如何在没有web.config设置(customErrors)的情况下使HandleError属性起作用?

c# - 带有 Ninject 依赖注入(inject)的 ASP.NET MVC 应用程序中的 MongoDB 官方 C# 驱动程序

jquery - Kendo Grid - 搜索后绑定(bind)数据

asp.net-mvc - 为什么在 ASP.NET MVC 3 中,默认路由不适用于名为 "ContentController"的 Controller ?

javascript - 如何在 svelte 中向窗口事件/鼠标滚轮添加参数

javascript - Highcharts 被压缩在 html 选项卡中

javascript - 当请求实际上没有失败时获取 "TypeError: Failed to fetch"

c# - 例如,如何将 DbSet 变成下拉列表?