web-dev-qa-db-fra.com

supprimer la classe css dans le code derrière

J'ai ce contrôle

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

Je veux supprimer la classe required du code derrière, comment faire?

34
rob waminal

Vous pouvez remplacer "requis" par une chaîne vide:

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

Juste une façon légèrement plus générique de faire la même chose - devrait exclure les erreurs potentielles où une classe css pourrait se produire ailleurs dans la propriété CssClass.

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

Cela a fonctionné pour moi

lblName.CssClass = "regular";
2
Josh Lowe

Utilisez ceci:

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

Voici mon code inspiré de l'exemple de code de @ 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

Pour supprimer la classe CSS du code derrière

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

REMARQUE: que vous ajoutiez ou remplaciez une classe css dans codeBehind, n'oubliez pas d'inclure des attributs équivalents dans les deux classes, c'est-à-dire ayant les deux couleur d'arrière-plan, famille de polices ... etc. car sinon, vous pourriez être dupe de penser que la classe n'a jamais changé, même si elle n'a pas mis à jour les attributs équivalents.

0
DIZAD