我有一个带有两个按钮的ASP.NET页面。一个触发器和UpdatePanel(AJAX CallBack)。另一个是整页刷新(Postback)。
我需要在单击任何按钮时禁用这两个按钮(这部分我设法使其工作)并在回发或回调完成时重新启用它们。在这两种情况下,我应该调用函数来启用按钮吗?
谢谢!
修改
这是一些代码。这是按钮定义:
<asp:button id="cmdFiltrar" UseSubmitBehavior="false" style="width:48%" runat="server" CssClass="botonActivo" text="<%$ Resources:Idioma, Historico_Consultar%>"/>
<asp:button id="cmdExcel" UseSubmitBehavior="false" style="width:48%" runat="server" CssClass="botonActivo" text="<%$ Resources:Idioma, Historico_Excel%>"/>
on Page_load(服务器端)我定义了JavaScript函数来启用/禁用按钮,并在两个按钮上添加一个属性,以便在点击时调用它:
ClientScript.RegisterClientScriptBlock(Page.GetType(), "EstadoBotones", "function EstadoBotones(bActivo) {document.getElementById('" + cmdExcel.ClientID + "').disabled=bActivo;document.getElementById('" + cmdFiltrar.ClientID + "').disabled=bActivo;}", True)
cmdFiltrar.Attributes.Add("onclick", "javascript:" + "EstadoBotones(true);")
cmdExcel.Attributes.Add("onclick", "javascript:" + "EstadoBotones(true);")
现在我需要知道在哪里放置这行代码(JavaScript):
EstadoBotones(false);
重新启用这两个按钮。 任何的想法?谢谢!
EDIT2 正如@Shouvik所建议的那样,我在page_load事件中编辑我的代码隐藏:
Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), "EstadoBotones", "function EstadoBotones(bActivo) {document.getElementById('" + cmdExcel.ClientID + "').disabled=bActivo;document.getElementById('" + cmdFiltrar.ClientID + "').disabled=bActivo;}", True)
cmdFiltrar.Attributes.Add("onclick", "javascript:" + "EstadoBotones(true);")
cmdExcel.Attributes.Add("onclick", "javascript:" + "EstadoBotones(true);")
Page.ClientScript.RegisterStartupScript(Page.GetType(), "ActivarBotones", "EstadoBotones(false);", True)
最后一行是在代码隐藏时执行的,但是客户端的按钮没有像他们那样启用...