我在我的代码中动态创建一个按钮并附加一个点击事件。但是,我必须防止人们在进行过程中单击它。所以当它被点击一次时,它应该被禁用,当进程结束时它应该被启用。我怎样才能做到这一点?
谢谢。
我在我的代码中动态创建一个按钮并附加一个点击事件。但是,我必须防止人们在进行过程中单击它。所以当它被点击一次时,它应该被禁用,当进程结束时它应该被启用。我怎样才能做到这一点?
谢谢。
onclick="this.enabled=false" 将此代码从后面的代码添加到您的控件中
btnAdd.Attributes.Add("onclick", "this.enabled=false;");
此链接详细说明http://encosia.com/2007/04/17/disable-a-button-control-during-postback/
如果您在单击按钮时通过 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>
希望这可以帮助。
我会在按钮周围使用 UpdatePanel。单击时,您可以在服务器端禁用该按钮。如果您的外部进程返回结果,请在更新面板上使用触发器,该触发器每隔 x 秒查看一次。我建议您将长时间运行的进程引入 Windows 服务。