web-dev-qa-db-ja.com

コードビハインドのcssクラスを削除する

私はこのコントロールを持っています

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

コードビハインドからrequiredクラスを削除したいのですが、どうすればよいですか?

34
rob waminal

「required」を空の文字列に置き換えることができます。

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

同じことをややより一般的な方法で-CssClassプロパティの別の場所でcssクラスが発生する可能性がある潜在的なエラーを除外する必要があります。

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

これは私のために働いた

lblName.CssClass = "regular";
2
Josh Lowe

これを使って:

object.CssClass= object.CssClass.Replace("MyClass", "");
1
Carls Jr.
lblName.Attributes.Add("class","urclassname"); //add class to lblName
0
social

これは、@ 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());
    }
}
0
Kasim Husaini

コードビハインドからcssクラスを削除するには

lblName.Attributes["class"]=" ";
0
Abhishek Kanrar

注:codeBehindでcssクラスを追加または置換するかどうかにかかわらず、両方のクラスに同等の属性を含めることを忘れないでください。それ以外の場合は、同等の属性を更新しなかったにもかかわらず、クラスが切り替えられなかったと考えるのにだまされる可能性があるためです。

0
DIZAD