我正在代码中动态创建一个按钮并将click事件附加到它。但是,我必须阻止人们在进行过程中点击它。因此,当它被单击一次时,它应该被禁用,当进程结束时,它应该被启用。我怎么能这样做?
感谢。
答案 0 :(得分:4)
onclick =“this.enabled = false”将此代码从您的代码添加到您的控件
btnAdd.Attributes.Add(“onclick”,“this.enabled = false;”);
此链接详细说明了http://encosia.com/2007/04/17/disable-a-button-control-during-postback/
答案 1 :(得分:2)
如果您在点击按钮时通过ajax进行处理 - 1.处理开始时禁用按钮 2.处理完成后启用按钮
如果按钮回发,最好的方法是在通过javascript点击按钮时禁用按钮[我不会仅为此特定任务建议jquery]。由于回发后按钮将会像之前一样启用,因此您无需担心启用。
<asp:Button ID="btn" runat="server" OnClientClick="disable(this)"
Text="Click me!" OnClick="btn_Click" />
<script type="text/javascript">
function disable(control)
{
control.disabled="disabled";
//added alert to give the snapshot of what happens
//when the button is clicked
alert(100);
}
</script>
希望这有帮助。
答案 2 :(得分:0)
我会在按钮周围使用UpdatePanel。单击时,您可以在服务器上禁用该按钮。如果您的extern进程返回结果,请在updatepanel上使用一个每x秒查看一次的触发器。我建议你将长时间运行的进程导出到Windows服务中。