2011-03-11 24 views
7

he encontrado StackOverflow respuestas y otros recursos que dicen que puede hacer clic en un ASP oculto: Botón con jQueryNo puedo hacer clic en un botón ASP: si está oculto usando jQuery?

$("#<%=HiddenButton.ClientID%>").click(); 

o

$("#<%=HiddenButton.ClientID%>").trigger("click"); 

Sin embargo, ninguno de estos están trabajando para mí, si el botón es visible = "true"

Aquí está el botón:

<asp:Button ID="loadCustomerContacts" runat="server" OnClick="loadCustomerContacts_Click" visible="false" />" 

Respuesta

17

Si configura la propiedad Visible en falso; por lo general, en .net, el control no se representará en el resultado HTML una vez que se haya procesado la página. Por lo tanto, en lo que respecta a jQuery, el botón no existe.

Puede hacer una fuente de visualización en la página para verificar esto.

Si quieres hacer esto, en lugar de utilizar la propiedad Visible, puede hacer algo como:

<asp:Button ID="myButton" runat="server" style="visibility: hidden; display: none;" /> 

o puede asignar una clase CSS que lo oculta.

0

Eso es probablemente porque el botón nunca se representa en el marcado de la página, aunque existe en la jerarquía de control del objeto de la página. El código JS del lado del cliente se basa en el marcado existente y no tiene nada que ver con lo que está disponible en el modelo de página ASP.

Si Visible = falso no funciona, intenté agregar algo como "mostrar = ninguno"; al estilo del botón? Si el botón está físicamente en la página pero es invisible, su método de Javascript podría funcionar.

2

es necesario agregar style = "display: none" para el botón en lugar de Visible = False

2

de codificación del gorila es correcto, sin embargo, lo que puede hacer es en lugar de establecer la propiedad visible, añadir esto a la etiqueta en su lugar:

style="display:none;" 

Esto ocultará el botón en CSS en lugar de no mostrar la página.

1

Cuando Visible es falso, el botón no se representa en los navegadores. Si no está en el navegador, no se puede hacer clic. En lugar de usar el atributo Visible use CssClass para ocultarlo. Crear una clase como en la hoja de estilo

.Hidden { 
    display:none; 
} 

y luego utilice

loadCustomerContacts.CssClass = "Hidden" 
Cuestiones relacionadas