I am using aspx. If I have HTML as follows:
<div id="classMe"></di开发者_运维技巧v>
I am hoping to dynamically add a css class through the code behind file, ie on Page_Load. Is it possible?
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")
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"
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";
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)
controlName.CssClass="CSS Class Name";
working example follows below
txtBank.CssClass = "csError";
Syntax:
controlName.CssClass="CSS Class Name";
Example:
txtBank.CssClass = "csError";
If you want to retain the existing class, this would work:
string existingClass = classMe.Attributes["class"];
classMe.CssClass = existingClass + " some-class";
精彩评论