2009-04-04 15 views

Respuesta

8
<div id="divYourDiv" runat="server"> 
    your stuff goes here... 
</div> 

//Server side code... 
public void ShowYourDiv(bool visible) 
{ 
    this.divYourDiv.Visible = visible; 
} 
+0

Parece que no puedo acceder a divYourDiv desde el código subyacente. ¿Hay algo que deba hacer primero para que sea accesible? – devios1

+1

asegúrate de configurar runat = "server" – bytebender

0

A través de él/configúrelo en un div o panel oculto (si usa div, marque runat = server, ambos se representan como div). Luego, haz visible el div/panel o manténlo oculto según tu evaluación.

0

Puede envolver su html dentro de un panel ASP y establecer el atributo visible del panel en el lado del servidor.

De lo contrario, Html es del lado del cliente, necesita usar javascript para manipular. Puede procesar algunos javascript dentro del código del lado del servidor, pero normalmente no es una buena idea.

8

Ponga un control PlaceHolder alrededor del código. No representa ningún código por sí mismo (como un Panel por ejemplo), por lo que no interfiere con el código html cuando está visible.

Si configura la propiedad Visible del PlaceHolder en falso, el código dentro del PlaceHolder no se procesará en la página.

48

Algunas personas se oponen al siguiente método, pero es uno con el que nadie ha respondido y creo que se debe mostrar como una opción. Puede ser útil cuando se usa apropiadamente.

<% if (ShowLabel) {%> 
<label>This will not be shown if the ShowLabel property evaluates false</label> 
<%}%> 

Para hacer este trabajo que tendría una propiedad pública o protegida en su página llamada showLabel que devuelve un valor lógico.

+0

Cool. Me gusta eso en realidad. Supongo que a algunas personas no les gusta mezclar código y marcado, pero yo soy un codificador de corazón, así que esto tiene más sentido para mí. :) – devios1

+1

En algunos casos, esta es incluso la única solución posible. Por ejemplo, si desea ocultar condicionalmente las etiquetas