我想在点击它后立即禁用一个Button,这样用户就不能连续点击两次并连续两次触发OnClick_Event。 btn.Enabled = false
似乎没有立即行动。有没有其他方法可以实现这一目标?
谢谢,
丹尼斯
答案 0 :(得分:6)
您正在做的是在回发后禁用它,因此您的按钮将在浏览器收到回复时呈现的页面中被禁用。
使用JavaScript在客户端执行此操作:
var button = document.getElementById('yourButton');
button.disabled = true;
如果您在回复服务器方面遇到问题,请查看以下文章:How to disable an ASP.NET button when clicked。
答案 1 :(得分:3)
function disable()
{
var button = document.getElementById('<%= Button1.ClientID %>');
button.disabled = true;
}
<asp:Button ID="Button1" OnClientClick="disable();">
答案 2 :(得分:3)
你可以通过javascript实现这个目标
function Disable(btn)
{
btn.disabled = true;
}
并将其添加到按钮 OnClientClick =“javascript:return Disable(this);”
答案 3 :(得分:2)
您可以通过此代码处理它。假设,这是一个名为btnAdd的按钮。当您单击此按钮时,由于执行相应的代码,它将被禁用。我的意思是由于回发它将被禁用。
if (!IsPostBack)
{
btnAdd.Attributes.Add("onclick", "this.disabled=true;" + GetPostBackEventReference(btnAdd).ToString());
}
答案 4 :(得分:0)
将btn.Enabled= false
写在按钮的Onclick事件中所有功能的末尾。它将执行必需的操作。
答案 5 :(得分:0)
禁用该按钮引发了问题。您不会触发服务器端事件。因此,通过隐藏按钮更好地寻找替代方案(并且显示一些友好的错误消息'工作','处理'等)。关于如何disable asp.net button on postback的解决方案会有所帮助。感谢。
答案 6 :(得分:0)
YourButton.Enabled = false;
if(!YourButton.Enabled)
{
\\Your Code Here
YourButton.Enabled = true;
}
希望这会有所帮助;)