删除后面的代码中的css类

时间:2010-12-02 09:46:57

标签: c# asp.net css

我有这个控制

<asp:Label ID="lblName" runat="server" Text="My Name" CssClass="required regular" />

我想从后面的代码中删除required类,我该怎么做?

8 个答案:

答案 0 :(得分:60)

您可以用空字符串替换“required”:

lblName.CssClass = lblName.CssClass.Replace("required", "");

答案 1 :(得分:14)

只是稍微更通用的方法 - 应该排除css类可能出现在CssClass属性中其他位置的潜在错误。

public void RemoveCssClass(WebControl controlInstance, String css)
{
    controlInstance.CssClass = String.Join(" ", controlInstance.CssClass.Split(' ').Where(x => x != css).ToArray());
}

答案 2 :(得分:2)

这对我有用

lblName.CssClass = "regular";

答案 3 :(得分:1)

使用此:

object.CssClass= object.CssClass.Replace("MyClass", "");

答案 4 :(得分:0)

lblName.Attributes.Add("class","urclassname"); //add class to lblName

答案 5 :(得分:0)

注意:无论是在codeBehind中添加还是替换css类,请记住在两个类中都包含等效属性,即两者都有background-color,font-family等。因为否则你可能会被愚弄认为该类从未切换过,即使它已经切换但没有更新等效属性。

答案 6 :(得分:0)

要从背后的代码中删除css类

lblName.Attributes["class"]=" ";

答案 7 :(得分:0)

这是@KevD的代码示例所启发的代码。

 public static class WebControlExtension
{
    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());
    }
}