В C # 3 вы можете добавить несколько методов расширения.
static class WebControlsExtensions
{
public static void AddCssClass (this WebControl control, string cssClass)
{
control.CssClass += " " + cssClass;
}
public static void RemoveCssClass (this WebControl control, string cssClass)
{
control.CssClass = control.CssClass.replace(" " + cssClass, "");
}
}
Использование: -
ctl.AddCssClass("ReadOnly");
ctl.RemoveCssClass("ReadOnly");
Обратите внимание, что RemoveCssClass предназначен для удаления только тех классов, которые были добавлены AddCssClass, и имеет ограничение, заключающееся в том, что при добавлении двух дополнительных имен классов самое короткое имя не должно точно соответствовать началу самого длинного имени. Например, если вы добавили «test» и «test2», вы не можете удалить test без повреждения CssClass. Я думаю, что это может быть улучшено с помощью RegEx, так как приведенное выше будет адекватным вашим потребностям.
Обратите внимание, что если у вас нет C # 3, удалите ключевое слово this
из первого параметра и используйте статические методы обычным способом.