2009-03-18 9 views
78

Actuellement, j'essaie de modifier un attribut de style css pour un div basé sur les informations que je reçois d'une table de base de données dans le code derrière ma page aspx. Dans une forme simplifiée, ce qui suit est essentiellement ce que j'essaie de faire, mais j'ai des erreurs.Comment modifier le style dans le code derrière le fichier pour divs dans ASP.net?

Voici mon code:

ASPX:

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

CODE DERRIÈRE:

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

Toute aide serait appréciée. Merci!

Répondre

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

testSpace.Attributes.Add ("style", "display: none;"); travaillerait aussi. –

+1

Pas si sûr Robert, je pense que cette ligne remplacera le style existant par le nouveau au lieu de fusionner les deux styles. – Necriis

+0

Utilement, ceci remplace un style existant, par ex. vous pourriez vouloir changer complètement un attribut de classe. –

68

Il est un HtmlGenericControl donc pas sûr de ce que la façon de le faire est, vous pouvez aussi faire recommandé:

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

ou

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

ou

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

ou

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

espoir qui aide, Nick

+0

La manière d'attributs est la façon dont je l'ai toujours fait. Cela fonctionne ... – user69889

+0

C'est également correct - mais Andy a répondu en premier afin qu'il l'obtienne. Si je pouvais faire plus d'une réponse, je vérifierais les deux! – EverTheLearner

12

Une autre façon de le faire:

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

ou

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

à vb.net vous pouvez le faire de cette façon:

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

J'ai eu des problèmes pour utiliser 'testSpace.Style.Item (" display ") =" none ";' sur un contrôle d'étiquette dans .NET 4.0. J'ai l'erreur «System.Web.UI.CssStyleCollection» ne contient pas de définition pour «Item». . . '. Est-ce spécifique à une version .NET particulière? –

+1

Je suis désolé. le premier était l'approche de VB.net. je vais éditer ma réponse –

Questions connexes