Reputation: 10562
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?
Upvotes: 66
Views: 167584
Reputation: 1
If you want to retain the existing class, this would work:
string existingClass = classMe.Attributes["class"];
classMe.CssClass = existingClass + " some-class";
Upvotes: 0
Reputation: 8764
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";
Upvotes: 10
Reputation: 31
Syntax:
controlName.CssClass="CSS Class Name";
Example:
txtBank.CssClass = "csError";
Upvotes: 2
Reputation: 41
controlName.CssClass="CSS Class Name";
working example follows below
txtBank.CssClass = "csError";
Upvotes: 4
Reputation: 41
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)
Upvotes: 4
Reputation: 52547
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"
Upvotes: 17
Reputation: 55457
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")
Upvotes: 127