Javascript 如何在10秒后启用LinkButton Asp.net?

Javascript 如何在10秒后启用LinkButton Asp.net?,javascript,c#,asp.net,asplinkbutton,Javascript,C#,Asp.net,Asplinkbutton,当我点击LinkButtonlbUpVoteUndo时,它应该会禁用10秒钟。我已经在c#代码隐藏中尝试过了。还有其他方法做同样的事情吗 protected void lbUpVoteUndo_Click(object sender, EventArgs e) { lbUpVoteUndo.Enabled = false; if(/* check for 10 seconds */) { lbUpVoteUndo.Enabled = true;

当我点击LinkButton
lbUpVoteUndo
时,它应该会禁用10秒钟。我已经在c#代码隐藏中尝试过了。还有其他方法做同样的事情吗

protected void lbUpVoteUndo_Click(object sender, EventArgs e)
{
    lbUpVoteUndo.Enabled = false;

    if(/* check for 10 seconds */)
    {
        lbUpVoteUndo.Enabled = true;
    }
}

Javascript可以为您做到这一点。这两行代码将为您完成此任务:

function DisableFor10Seconds() {
      document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = true;
      setTimeout(function(){document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = false;},10000);
}
功能禁用10秒(){
document.getElementById(“”).disabled=true;
setTimeout(函数(){document.getElementById(“”).disabled=false;},10000);
}
我已经有一段时间没有在.NET webforms上工作了,但在您的控制下,我相信您可以这样做:

<asp:LinkButton ID="lbUpVoteUndo" OnClientClick="Disablefor10Seconds();" />


我想补充一点,10秒是很长的时间,您是否希望用户等待10秒?例如,如果用户点击刷新按钮,该按钮将再次启用。如果无论发生什么情况,您都想将其禁用10秒,那么您可能应该在会话或缓存中存储一个标志,然后可以使用计时器设置客户端元素。

使用javascript函数-

在HTML中,使用按钮控件添加以下代码-

UseSubmitBehavior="false" OnClientClick="this.disabled='true'; this.value='Please wait...';"
在.CS cdoe中,使用此按钮单击事件-

System.Threading.Thread.Sleep(10000);

谢谢:)

我假设这是WebForms,因为您还没有指定。如果您试图加载页面,那么10秒后启用按钮,这在服务器代码中是不可能的。您发布的代码将等待10秒执行,然后页面将加载启用或禁用的按钮。它与
WebForms
无关。我点击的是一个简单的
linkbutton
。如果可以,我建议您使用javascript来完成此操作,否则,您需要将该按钮包装在一个UpdatePanel中,我不确定您是否已经实现了它。@Asif.Ali-您也可以尝试查找它。您可能会学到一些东西。它在
禁用10秒
功能中显示错误。您可以编辑它吗
元素
缺少其关闭标记。这实际上不起作用,因为LNK按钮创建了一个您需要的
(请参见关闭
%>
),twiceSolid回答-也同意10秒的等待时间是没有意义的,因为刷新将完全绕过这一措施。我认为您有.aspx页面,并且您的代码在服务器端means.cs文件中。是吗?是的,我想在
.cs
文件中处理它。好的。您可以使用按钮的UseSubmitBehavior=“false”。像这样-UseSubmitBehavior=“false”OnClientClick=“this.disabled='true';this.value='Please wait';”。并在你的.cs代码中写入代码线程.Sleep(3000);如果你不能理解我的代码,请让我知道。我将在我的答案中编辑代码。请检查答案。