从c#中的div中删除类

时间:2012-04-17 14:12:25

标签: c# css

我尝试使用服务器端.CssClass,但我无法使用此功能。 我的div有runat="server"所以我可以访问它,但是当我点击“。”时,我在下拉列表中看不到.CssClass。有谁知道如何通过这个或任何其他可能有用的解决方案?

好的,我的坏。我发现这对HTML控件不起作用,仅适用于asp控件

6 个答案:

答案 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());
    }