JavaScript如何在CallBack和Postback上的客户端启用按钮

时间:2014-10-08 19:08:06

标签: javascript asp.net

我有一个带有两个按钮的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)

最后一行是在代码隐藏时执行的,但是客户端的按钮没有像他们那样启用...

0 个答案:

没有答案