2009-03-18 16 views
78

Actualmente estoy intentando modificar un atributo de estilo CSS para un div basado en la información que obtengo de una tabla de base de datos en el código detrás de mi página aspx. En forma simplificada, lo siguiente es esencialmente lo que intento hacer, pero obtengo errores.¿Cómo se modifica el estilo en el código detrás del archivo para divs en ASP.net?

Aquí está mi código:

ASPX:

<div id="testSpace" runat="server"> 
    Test 
</div> 

código detrás:

testSpace.Style = "display:none;"  
testSpace.Style("display") = "none"; 

se agradecería cualquier ayuda. ¡Gracias!

Respuesta

130
testSpace.Style.Add("display", "none"); 
+5

testSpace.Attributes.Add ("estilo", "pantalla: ninguno;"); también funcionaría –

+1

No estoy tan seguro Robert, creo que esta línea reemplazará el estilo existente con el nuevo en lugar de fusionar ambos estilos. – Necriis

+0

De manera útil, esto reemplaza un estilo existente, p. es posible que desee cambiar por completo un atributo de clase. –

68

Es una HtmlGenericControl así que no sé cuál es la forma recomendada de hacer esto es, por lo que también podría hacer:

testSpace.Attributes.Add("style", "text-align: center;"); 

o

testSpace.Attributes.Add("class", "centerIt"); 

o

testSpace.Attributes["style"] = "text-align: center;"; 

o

testSpace.Attributes["class"] = "centerIt"; 

Espero que ayude, Nick

+0

La manera de los atributos es la forma en que siempre lo he hecho. Funciona ... – user69889

+0

Esto también es correcto, pero Andy respondió primero, así que lo entiende. ¡Si pudiera hacer más de una respuesta, verificaría ambas! – EverTheLearner

12

Otra manera de hacerlo:

testSpace.Style.Add("display", "none"); 

o

testSpace.Style["background-image"] = "url(images/foo.png)"; 

en vb.net que puede hacerlo de esta manera:

testSpace.Style.Item("display") = "none" 
+0

Tuve problemas para usar 'testSpace.Style.Item (" display ") =" none ";' en un control de etiqueta en .NET 4.0. Obtuve el error ''System.Web.UI.CssStyleCollection' no contiene una definición para 'Artículo'. . . '. ¿Es eso específico para una versión particular de .NET? –

+1

lo siento. el primero fue el enfoque de VB.net. editaré mi respuesta –

Cuestiones relacionadas