2010-12-02 32 views

答えて

52

あなたは空の文字列で、「必要」と交換することができる

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

シンプルだがエレガントです。 –

+16

シンプルで、間違いやすいです。ダイアログ認証 - ダイアログモーダル "のようなCSSクラスリストがあり、"ダイアログ "クラスを削除したとします。この答えのコードを使用すると、 '' authentication-modal ''で終わります。 – FreeAsInBeer

+0

引き続き置換を行うことはできますが、正規表現を使用してハイフンエラーの場合を除外します。 \ b単語境界メタキャラクターは、境界として " - "とマッチしますので使用できません。代わりに 'lblName.CssClass = Regex.Replace(lblName.CssClass、@"(?<![\ w - ])ダイアログ(?![\ w-]) "、" ");ハイフンを除いて単語の境界に一致するように先に見てください –

1

使用この:

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

私は実際にホルヘMと同じ答えを持っています。私は自分の答えを投稿したときに彼の答えが最初に来たのに気付かなかった。申し訳ありません。 –

14

同じことをするだけで、もう少し一般的な方法 - どこ潜在的なエラーを排除すべきですcssクラスは、CssClassプロパティの別の場所で発生することがあります。

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

このメソッドは、拡張クラス(すべてのWebControlでCSSクラスメソッドを追加および削除する)に書き込むときにMVCスタイルに似ているため、このメソッドを使用することをお勧めします。 –

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

これはクラスを追加していますが、jQueryのような素晴らしい「削除」方法はありません...だから、KevDやJorgeのようなCssClassのアプローチが好きです。 –

+0

答えを編集した内容を説明し、コードの回答のみを避けてください – GGO

1

これは私のために

lblName.CssClass = "regular"; 
0

NOTEを働いた:あなたは両方のクラスで同等の属性を含めることを忘れないでください、追加または分離コードでのCSSクラスを置き換えるかどうかを両方持つ背景色、フォント、すなわち - 家族...など。そうでなければ、たとえそれが行われたにもかかわらずクラスが切り替えられなかったと考えることに騙されるかもしれないが、同等の属性を更新しないからである。

関連する問題