【发布时间】:2010-12-26 14:05:24
【问题描述】:
我正在使用 aspx。如果我的 HTML 如下:
<div id="classMe"></div>
我希望通过文件后面的代码动态添加一个css类,即在Page_Load上。有可能吗?
【问题讨论】:
标签: css class asp.net code-behind
我正在使用 aspx。如果我的 HTML 如下:
<div id="classMe"></div>
我希望通过文件后面的代码动态添加一个css类,即在Page_Load上。有可能吗?
【问题讨论】:
标签: css class asp.net code-behind
如果要添加属性,包括类,需要在标签上设置runat="server"。
<div id="classMe" runat="server"></div>
然后在代码隐藏中:
classMe.Attributes.Add("class", "some-class")
【讨论】:
Attributes 集合上使用 Clear 和 Remove。 msdn.microsoft.com/en-US/library/…
<div id="classMe" runat="server" class="original"></div>,则原始类声明将被删除,而您只剩下只是class="some-class" 使用上面的代码....似乎与@chris-haas 的最后一条评论相矛盾
classMe.Attributes.Add("class", classMe.Attributes["class"] + " some-class" 以不覆盖您已有的内容
如果您没有将 id 用于代码隐藏引用以外的任何其他内容(因为 .net 破坏了 id),您可以使用 panel 控件并在您的代码隐藏中引用它:
<asp:panel runat="server" id="classMe"></asp:panel>
classMe.cssClass = "someClass"
【讨论】:
controlName.CssClass="CSS Class Name";
工作示例如下
txtBank.CssClass = "csError";
【讨论】:
BtnAdd.CssClass = "BtnCss";
BtnCss 应该存在于您的 Css 文件中。
(如果需要,该 Css 文件名的引用应添加到 aspx)
【讨论】:
语法:
controlName.CssClass="CSS Class Name";
例子:
txtBank.CssClass = "csError";
【讨论】:
假设你的 div 已经有一些 CSS 类...
<div id="classMe" CssClass="first"></div>
以下内容不会替换现有定义:
ClassMe.CssClass += " second";
如果你直到最后一刻才确定......
string classes = ClassMe.CssClass;
ClassMe.CssClass += (classes == "") ? "second" : " second";
【讨论】: