我尝试使用服务器端.CssClass
,但我无法使用此功能。
我的div有runat="server"
所以我可以访问它,但是当我点击“。”时,我在下拉列表中看不到.CssClass
。有谁知道如何通过这个或任何其他可能有用的解决方案?
好的,我的坏。我发现这对HTML控件不起作用,仅适用于asp控件
答案 0 :(得分:15)
如果您想阅读课程名称,则需要使用以下代码:
string className = Test.Attributes["class"].ToString();
如果您想要替换特定的类,则需要使用代码:
Test.Attributes.Add("class", Test.Attributes["class"].ToString().Replace("spacerDiv", ""));
答案 1 :(得分:5)
HTML
<div id="Test" runat="server"></div>
背后的代码
add => Test.Attributes.Add("class", "myClass")
remove => Test.Attributes.("class") = "";
答案 2 :(得分:2)
这将更具体:
HTML
<div id="Test" runat="server"></div>
Servewr代码:
Test.Attributes.Remove("class");
答案 3 :(得分:0)
这与Tim的解决方案相同,但我删除了不需要的toString方法。
myDiv.Attributes.Add("class", myDiv.Attributes["class"].Replace("spacerDiv", ""));
将一个类添加到div中有点相同。
myDiv.Attributes.Add("class", "spacerDiv");
答案 4 :(得分:0)
删除CSS类
myDiv.Attributes [“ class”] =“”;
答案 5 :(得分:0)
处理任何HtmlGenericControl的类的更好方法是使用以下提供的扩展名:
public static void RemoveCssClass(this HtmlGenericControl controlInstance, string css)
{
var strCssClass = controlInstance.Attributes["class"];
controlInstance.Attributes["class"] = string.Join(" ", strCssClass.Split(' ').Where(x => x != css).ToArray());
}
public static void AddCssClass(this HtmlGenericControl controlInstance, string css)
{
var strCssClass = controlInstance.Attributes["class"];
controlInstance.Attributes["class"] = string.Join($" {css} ", strCssClass.Split(' ').ToArray());
}
对于WebControl,可以如下修改相同的代码:
public static void RemoveCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join(" ", controlInstance.CssClass.Split(' ').Where(x => x != css).ToArray());
}
public static void AddCssClass(this WebControl controlInstance, string css)
{
controlInstance.CssClass = string.Join($" {css} ", controlInstance.CssClass.Split(' ').ToArray());
}