DanDan
DanDan

Reputation: 10562

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?

Upvotes: 66

Views: 167584

Answers (7)

If you want to retain the existing class, this would work:

string existingClass = classMe.Attributes["class"];
classMe.CssClass = existingClass + " some-class";

Upvotes: 0

Marc.2377
Marc.2377

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

Kishor Makwana
Kishor Makwana

Reputation: 31

Syntax:

controlName.CssClass="CSS Class Name";

Example:

txtBank.CssClass = "csError";

Upvotes: 2

Anwar
Anwar

Reputation: 41

controlName.CssClass="CSS Class Name";

working example follows below

txtBank.CssClass = "csError";

Upvotes: 4

Veerendranath Darsi
Veerendranath Darsi

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

Jason
Jason

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

Chris Haas
Chris Haas

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

Related Questions