J'utilise aspx. Si j'ai HTML comme suit:
<div id="classMe"></div>
J'espère ajouter dynamiquement une classe CSS par le code derrière le fichier, c'est-à-dire sur Page_Load. C'est possible?
Si vous souhaitez ajouter des attributs, y compris la classe, vous devez définir runat="server"
sur l'étiquette.
<div id="classMe" runat="server"></div>
Puis dans le code-behind:
classMe.Attributes.Add("class", "some-class")
Si vous n'utilisez pas id
pour autre chose que la référence code-behind (car .net modifie les identifiants), vous pouvez utiliser un contrôle panel
et le référencer dans votre codebehind:
<asp:panel runat="server" id="classMe"></asp:panel>
classMe.cssClass = "someClass"
controlName.CssClass="CSS Class Name";
exemple de travail suit ci-dessous
txtBank.CssClass = "csError";
BtnAdd.CssClass = "BtnCss";
BtnCss devrait être présent dans votre fichier Css.
(la référence de ce nom de fichier Css doit être ajoutée à l'aspx si nécessaire)
En supposant que votre div ait déjà quelques classes CSS ...
<div id="classMe" CssClass="first"></div>
Les éléments suivants ne remplaceront pas les définitions existantes:
ClassMe.CssClass += " second";
Et si vous n’êtes pas sûr jusqu’au moindre moment ...
string classes = ClassMe.CssClass;
ClassMe.CssClass += (classes == String.Empty) ? "second" : " second";
Syntaxe:
controlName.CssClass="CSS Class Name";
Exemple:
txtBank.CssClass = "csError";