如何设置每天单击一次按钮

时间:2018-10-13 16:38:26

标签: c# asp.net sql-server

我正在开发一种考勤系统,其中通过单击按钮登录和标记出席情况,将记录插入数据库(包括今天日期)按钮后看不到,但是当用户再次登录时再次显示,用户可以再次标记出席情况。该用户即使每天再次登录也只能一天单击一次?

if (present.Checked)
{
    btnattendance.Visible = false;
    lblattend.Text = "Attendance has been Marked Succsessully" + " " + dateofclass1;

    return status1 = "Present";
}
else
{
    btnattendance.Visible = false;

    lblattend.Text = "Leave Request has been sent to Admin" + " " + dateofclass1;
    return status1 = "Leave";
}

2 个答案:

答案 0 :(得分:2)

这就是我要做的:

  1. 将每个用户的“ click”事件(带有点击时间)存储到数据库中。
  2. 页面加载;检查用户是否在最近24小时内点击过。
  3. 如果没有激活按钮。
  4. 再次点击。人们可以 编辑HTML,使其仍然能够单击按钮(例如,通过删除disabled状态)。

检查时间是否早于24小时

var lastClickedOn = ...; // The time from the database.
var now = DateTime.Now;

// Check if the click time is more than, or exactly, 24 hours ago.
if (lastClickedOn <= now.AddHours(-24))
{
    // Hide/disable the button
}

答案 1 :(得分:0)

  1. 验证用户登录名后,您的应用程序逻辑应检查用户是否已被标记为当天出勤。
  2. 如果已经在数据库表中标记了出席者,则应将标记返回给客户端Web应用程序
  3. 然后,您的客户端Web应用程序逻辑可以根据该标志决定是启用还是禁用出勤提交按钮