2009-03-18 16 views
78

Attualmente sto cercando di modificare un attributo di stile css per un div in base alle informazioni ottenute da una tabella di database nel codice retrostante della mia pagina aspx. In forma semplificata il seguente è essenzialmente ciò che sto cercando di fare, ma ottengo degli errori.Come si modifica lo stile nel codice dietro il file per le div in ASP.net?

Ecco il mio codice:

ASPX:

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

codice dietro:

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

Qualsiasi aiuto sarebbe apprezzato. Grazie!

risposta

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

testSpace.Attributes.Add ("style", "display: none;"); funzionerebbe anche –

+1

Non è proprio così Robert, penso che questa linea sostituirà lo stile esistente con quello nuovo invece di fondere entrambi gli stili. – Necriis

+0

Utilmente, questo sostituisce uno stile esistente, ad es. potresti voler cambiare completamente un attributo di classe. –

68

E 'un HtmlGenericControl quindi non so cosa il modo consigliato per farlo è, quindi si potrebbe anche fare:

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"; 

Speranza che aiuta, Nick

+0

La via degli attributi è il modo in cui l'ho sempre fatto. Funziona ... – user69889

+0

Anche questo è corretto, ma Andy ha risposto per primo, così ha capito. Se potessi fare più di una risposta, controllerei entrambi! – EverTheLearner

12

Un altro modo per farlo:

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

o

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

in vb.net si può fare in questo modo:

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

Ho avuto problemi con 'testSpace.Style.Item (" display ") =" none ";' su un controllo etichetta in .NET 4.0. Ho ricevuto l'errore "System.Web.UI.CssStyleCollection" non contiene una definizione per "Articolo". . . '. È specifico per una particolare versione .NET? –

+1

mi dispiace. il primo era l'approccio VB.net. modificherai la mia risposta –

Problemi correlati