Javascript 如何在提交时禁用按钮并在ASP.NET回发完成时启用

Javascript 如何在提交时禁用按钮并在ASP.NET回发完成时启用,javascript,c#,asp.net,Javascript,C#,Asp.net,我试图在提交时禁用两个ASP.NET按钮,并在回发完成时重新启用它们。要禁用按钮,我使用以下代码: cmdFiltrar.Attributes.Add("onclick", "javascript:" + cmdFiltrar.ClientID + ".disabled=true;" + ClientScript.GetPostBackEventReference(cmdFiltrar, "")) cmdExcel.Attributes.Add("onclick", "javascript:"

我试图在提交时禁用两个ASP.NET按钮,并在回发完成时重新启用它们。要禁用按钮,我使用以下代码:

cmdFiltrar.Attributes.Add("onclick", "javascript:" + cmdFiltrar.ClientID + ".disabled=true;" + ClientScript.GetPostBackEventReference(cmdFiltrar, ""))
cmdExcel.Attributes.Add("onclick", "javascript:" + cmdExcel.ClientID + ".disabled=true;" + ClientScript.GetPostBackEventReference(cmdExcel, ""))
它是有效的。但我如何或在何种情况下可以重新启用它们?我已经尝试了页面加载事件,但它似乎没有任何效果


有什么想法吗?谢谢

您没有使用Ajax进行回发。您只是在启用客户端脚本(
JavaScript
)以使服务器返回完整的post(使用
\uuu doPostBack
引发事件),除非涉及到
UpdatePanel
。如果有UpdatePanel,它将进行部分回发。无论如何,这两种情况都有一个解决方案

将此
JavaScript
添加到您的页面

<script type="text/javascript">
 function EnableButton() {

  var btn = document.getElementById("<%= cmdFiltrar.ClientID %>");
     if (btn.disabled == true) {
       btn.disabled = false;
    }
 }
</script> 
如果有部分回发


调用
UpdatePanel
客户端
onLoad
事件中的JavaScript函数

当表单从客户端提交时,您应该禁用这些按钮,一旦页面重新加载,回发已经完成,页面已返回alreadyok。我使用的是Ajax,所以我不知道是否有重新加载。但在任何情况下,我在哪里可以重新启用按钮?谢谢如果您使用的是AJAX,那么就不会有回发了吗?我有两个按钮。其中一个会触发updatePanel(AJAX),从而触发回调。另一个是进行整页刷新(回发)。我需要在服务器处理数据时禁用这两个按钮,并在数据到达客户端时重新启用它们。谢谢谢谢你的回复。事实上,我有两个按钮:一个触发updatepanel回调。另一个是将网格导出到excel,我需要进行完全刷新。我需要的是在单击其中任何一个按钮时禁用这两个按钮,在回调或回发完成时重新启用它们。我试图在UpdatePanel的OnLoad中调用该函数,但是我得到一个错误,说我的函数不存在。有什么想法吗?用你尝试过的代码更新你的问题(标记和C#),然后我就能帮你了。
<body onload="EnableButton();">