当我点击LinkButton protected void lbUpVoteUndo_Click(object sender, EventArgs e)
{
lbUpVoteUndo.Enabled = false;
if(/* check for 10 seconds */)
{
lbUpVoteUndo.Enabled = true;
}
}
时,它应该禁用10秒钟。我在c#代码隐藏中尝试过它。有没有其他方法可以做同样的事情?
git ls-remote -h ssh://git@github.com/toto/repo # timeout=10
FATAL: hudson.plugins.git.GitException: Command "git ls-remote -h ssh://git@github.com/toto/repo" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
答案 0 :(得分:2)
Javascript可以为您完成此操作。这两行代码将为您完成:
function DisableFor10Seconds() {
document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = true;
setTimeout(function(){document.getElementById("<% lbUpVoteUndo.ClientID %>").disabled = false;},10000);
}
自从我使用.NET webforms以来已经有一段时间了但是在你的控制下我相信你可以这样做:
<asp:LinkButton ID="lbUpVoteUndo" OnClientClick="Disablefor10Seconds();" />
我想补充说,10秒是很长时间,您是否希望用户等待10秒钟?例如,如果用户点击刷新,则该按钮将再次启用。无论发生什么情况,如果你想让它被禁用10秒钟,你应该在Session或Cache中存储一个标志,然后可以用计时器设置一个客户端元素。
答案 1 :(得分:1)
使用javascript函数 -
在HTML中,使用按钮控件添加以下代码 -
UseSubmitBehavior="false" OnClientClick="this.disabled='true'; this.value='Please wait...';"
在.CS cdoe中,在按钮点击事件中使用此功能 -
System.Threading.Thread.Sleep(10000);
谢谢:)