C# 当当前时间距离数据库中设置的时间不足一小时时,如何禁用该按钮?

C# 当当前时间距离数据库中设置的时间不足一小时时,如何禁用该按钮?,c#,javascript,asp.net-mvc-4,web,C#,Javascript,Asp.net Mvc 4,Web,我有一个由windows窗体应用程序控制的MVC4网站。在此winform中,您可以设置将在网站上运行的拍卖的开始和结束时间。一旦用户出价,他们可以在拍卖结束前一小时内将其删除。当当前时间距离结束时间不足一小时时,如何禁用此删除按钮?感谢您的帮助。解决方案是使用$.ajax或任何其他ajax实现设置检查状态的间隔,在时间到来时取消单击或删除按钮的绑定 您还可以对剩余时间进行一次检查,然后将时间存入内存,然后以相等的间隔检查所需的时间 第二种解决方案是les precise,因为javascrip

我有一个由windows窗体应用程序控制的MVC4网站。在此winform中,您可以设置将在网站上运行的拍卖的开始和结束时间。一旦用户出价,他们可以在拍卖结束前一小时内将其删除。当当前时间距离结束时间不足一小时时,如何禁用此删除按钮?感谢您的帮助。

解决方案是使用$.ajax或任何其他ajax实现设置检查状态的间隔,在时间到来时取消单击或删除按钮的绑定

您还可以对剩余时间进行一次检查,然后将时间存入内存,然后以相等的间隔检查所需的时间


第二种解决方案是les precise,因为javascripts具有特殊的时间处理功能,但这会减少后端和数据库的负载。

在视图上添加计时器,以便在加载时,拍卖结束时的
日期时间值将用于停用按钮

您可以在视图中的jquery中执行以下操作(这是我脑海中的粗略代码):


$(函数()
{
//从现在开始减去你的db值
var auctionEndTime=datetimevaluefromthedatabase-datetimenow
//如果还有时间-大于1小时,则设置计时器
如果(auctionEndTime>1)
{
//注意:超时需要毫秒
var initTimer=setTimeout(函数(){disableButton()},auctionEndTime);
}
其他的
{
禁用按钮();
}
函数禁用按钮()
{
$('input:submit').attr(“disabled”,true);
}
});

您需要研究Ajax。你使用的是像jQuery这样的Javascript库吗?是的,我试图用Javascript或jQuery来做,但我就是想不出来。
<script type="text/javascript">
    $(function () 
    {

        // essentially subtract your db value from now
        var auctionEndTime = datetimevaluefromthedatabase - datetimenow

        // if there's still time - greater than 1 hour then set timer
        if (auctionEndTime > 1) 
        {
            // note: you'll need milliseconds for the timeout
            var initTimer = setTimeout(function () { disableButton() }, auctionEndTime);
        }
        else
        {
            disableButton();
        }

        function disableButton() 
        {
            $('input:submit').attr("disabled", true);
        }

    });
</script>