【问题标题】:Create a countdown timer in Webform using session value from server side使用服务器端的会话值在 Webform 中创建倒数计时器
【发布时间】:2019-10-11 07:30:27
【问题描述】:

我的场景:

我有一个网站需要在倒计时为零时注销用户。通常与计时器相关的代码将在母版页上。我尝试使用 asp 计时器和会话,它可以工作,但问题是计时器也不断重新加载子页面,并且由于页面频繁刷新,我无法在子页面上使用下拉列表。

倒计时值存储在数据库中,如果用户在倒计时为零之前注销,我需要将剩余时间保存在数据库中。

我正在考虑另一种选择,可能是 JavaScript 调用服务器端会话以获取倒计时时间(每个用户都不同)并在满足特定条件后将时间发送回服务器。

有没有更好的解决方案?谁能提供一些JavaScript版本的代码。

【问题讨论】:

  • Ajax,登录时间的数据库表
  • 请@Sanguine解释
  • 在下面查看我的答案

标签: c# ajax session timer webforms


【解决方案1】:

您可以将登录日期时间和注销日期时间存储在数据库中,以便计算在网站上花费的时间。

【讨论】:

  • 我实际上有一个倒计时,它的值存储在数据库中。我需要倒计时到零才能注销用户
  • 您可以在每次请求页面时检查倒计时。看一下 Global.asax.cs 的 Application_BeginRequest 方法。
【解决方案2】:

可以做的是当你提到master page时,使用Ajaxpost request发送到WebMethod - 另请参阅here以获取官方文档;然后在WebMethodquery your database 返回用户应该从(假设你有一个)用户table 注销的时间。您可以将Ajax 方法放在master page 上的循环中,以发送request 以每分钟检查您的database table 用户的注销时间 - 一旦当前时间超过您将比较的注销时间WebMethod,清除他们的session

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 2012-02-13
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    相关资源
    最近更新 更多