Saltar al contenido

¿Cómo se configura la propiedad “Visible” de un control ASP.NET desde una función de Javascript?

Solución:

La propiedad “Visible” de un control ASP.NET determina si se representará o no en el cliente (es decir, se enviará al cliente). Si es falso cuando se procesa la página, nunca llegará al cliente.

Por lo tanto, técnicamente no puede establecer esa propiedad del control.

Dicho eso, si el control es renderizado en el cliente porque la propiedad Visible es verdadera cuando se renderiza la página, luego puede ocultarla usando javascript como este:

var theControl = document.getElementById("txtEditBox");
theControl.style.display = "none";

// to show it again:
theControl.style.display = "";

Eso supone que el control id El atributo realmente es “txtEditBox” en el cliente y ya está visible.

Además, ¿es esa la mejor manera de ocultar / mostrar un control ASP.NET desde una función de Javascript?

No hay necesariamente una “mejor” manera, aunque un enfoque mejor es usar definiciones de clases CSS:

.invisible { display: none; }

Cuando desee ocultar algo, aplique dinámicamente esa clase al elemento; cuando quiera volver a mostrarlo, elimínelo. Tenga en cuenta que creo que esto solo funcionará para elementos cuyo display el valor comienza como block.

en lugar de usar visible, configure su css para mostrar: ninguno

//css:
.invisible { display:none; }

//C#
txtEditBox.CssClass="invisible";
txtEditBox.CssClass=""; // visible again

//javascript
document.getElementById('txtEditBox').className="invisible"
document.getElementById('txtEditBox').className=""

Establezca el estilo en “display: none”.

var theControl = document.getElementById("<%= txtEditBox.ClientID %>");
theControl.style.display = "none";
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *