asp.net - 以编程方式添加额外的 Css 类

标签 asp.net css code-behind

我有一个文本框,其中包含一个名为“required”的 Css 类。当用户单击一个按钮时,我想在不删除“必需”类的情况下向名为“错误”的文本框添加额外的 Css 类。我想从代码隐藏中完成此操作。

最佳答案

我决定为 WebControl 创建扩展方法以获得通用解决方案。 这是我的代码:

public static class WebControlExtensions
{
    public static void AddCssClass(this WebControl control, string cssClass)
    {
        if (string.IsNullOrEmpty(control.CssClass))
        {
            control.CssClass = cssClass;
        }
        else
        {
            string[] cssClasses = control.CssClass.Split(' ');
            bool classExists = cssClasses.Any(@class => @class == cssClass);

            if (!classExists)
            {
                control.CssClass += " " + cssClass;
            }
        }
    }

    public static void RemoveCssClass(this WebControl control, string cssClass)
    {
        if (!string.IsNullOrEmpty(control.CssClass))
        {
            string[] cssClasses = control.CssClass.Split(' ');
            control.CssClass = string.Join(" ", cssClasses.Where(@class => @class != cssClass).ToArray());
        }
    }
}

关于asp.net - 以编程方式添加额外的 Css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6497941/

相关文章:

c# - 深度复制 ASP.NET GridView

c# - 从 C# 代码后面将值传递给 Javascript 函数

c# - 制作用户控制脉冲

css - div适配浏览器窗口的问题

c# - 在代码隐藏中创建样式

javascript - 用于测试预加载器(带有图像和延迟)未正确延迟的 ASP.NET ASHX 处理程序

asp.net - asp.net中Eval()有什么用

asp.net - MSSQL Server 注入(inject)了隐藏的垃圾邮件链接,有什么最终解决方案吗?

css - 过渡动画不起作用

html - 字体简写的奇怪 CSS 行为