'Adding css class through aspx code behind
I am using aspx. If I have HTML as follows:
<div id="classMe"></div>
I am hoping to dynamically add a css class through the code behind file, ie on Page_Load. Is it possible?
Solution 1:[1]
If you want to add attributes, including the class, you need to set runat="server" on the tag.
<div id="classMe" runat="server"></div>
Then in the code-behind:
classMe.Attributes.Add("class", "some-class")
Solution 2:[2]
If you're not using the id for anything other than code-behind reference (since .net mangles the ids), you could use a panel control and reference it in your codebehind:
<asp:panel runat="server" id="classMe"></asp:panel>
classMe.cssClass = "someClass"
Solution 3:[3]
Assuming your div has some CSS classes already...
<div id="classMe" CssClass="first"></div>
The following won't replace existing definitions:
ClassMe.CssClass += " second";
And if you are not sure until the very last moment...
string classes = ClassMe.CssClass;
ClassMe.CssClass += (classes == "") ? "second" : " second";
Solution 4:[4]
BtnAdd.CssClass = "BtnCss";
BtnCss should be present in your Css File.
(reference of that Css File name should be added to the aspx if needed)
Solution 5:[5]
controlName.CssClass="CSS Class Name";
working example follows below
txtBank.CssClass = "csError";
Solution 6:[6]
Syntax:
controlName.CssClass="CSS Class Name";
Example:
txtBank.CssClass = "csError";
Solution 7:[7]
If you want to retain the existing class, this would work:
string existingClass = classMe.Attributes["class"];
classMe.CssClass = existingClass + " some-class";
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Chris Haas |
| Solution 2 | Jason |
| Solution 3 | |
| Solution 4 | Jontas |
| Solution 5 | Jontas |
| Solution 6 | Marc.2377 |
| Solution 7 | Elikill58 |
