我有一个由Windows窗体应用程序控制的mvc 4网站。在此winform中,您可以设置将在网站上运行的拍卖的开始和结束时间。用户出价后,可以在拍卖结束前一小时将其删除。当前时间距离结束时间不到一小时时,如何禁用此删除按钮?谢谢你的帮助。
答案 0 :(得分:1)
在视图上添加一个计时器,以便在加载时,将使用拍卖结束的datetime
值停用该按钮。
你可以在视图中的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>
答案 1 :(得分:0)
解决方案是设置间隔以使用$ .ajax或任何其他ajax实现来检查状态,并在时间到来时解除单击或删除按钮的绑定。
您还可以在剩余时间内进行一次检查,然后将时间放入内存中,然后以相等的间隔检查所需的时间。
由于javascripts特殊的时间处理,第二个解决方案是精确的,但这会减少你的后端和数据库的负载。