当前位置: 首页 > 面试题库 >

从代码更改CSS类

暨嘉
2023-03-14
问题内容

CssClass在后面的代码中设置很容易,但是这会覆盖现有类。

我需要设置某些元素,ReadOnly = true;并且我想应用一种样式作为视觉提示,说明该项目不能更改…很容易:

.CssClass += " ReadOnlyStyle";

但是有时我 需要更改相同的元素,ReadOnly = false;这意味着我将需要删除设置的CSS类,而不删除可能已分配的任何其他样式。

最好的方法是什么?


问题答案:

我采用了AnthonyWJones的原始代码并对其进行了修改,以使其在任何情况下均能正常工作:

static class WebControlsExtensions
    {
        public static void AddCssClass(this WebControl control, string cssClass)
        {
            List<string> classes = control.CssClass.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();

            classes.Add(cssClass);

            control.CssClass = classes.ToDelimitedString(" ");
        }

        public static void RemoveCssClass(this WebControl control, string cssClass)
        {
            List<string> classes = control.CssClass.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToList();

            classes.Remove(cssClass);

            control.CssClass = classes.ToDelimitedString(" ");
        }
    }

    static class StringExtensions
    {
        public static string ToDelimitedString(this IEnumerable<string> list, string delimiter)
        {
            StringBuilder sb = new StringBuilder();
            foreach (string item in list)
            {
                if (sb.Length > 0)
                    sb.Append(delimiter);

                sb.Append(item);
            }

            return sb.ToString();
        }
    }


 类似资料:
  • 我想把一个网站的css从python改成selenium。 到目前为止,我所做的是获得CSS的价值。 我想更改此css的值。 运行下面的Python代码的结果:0px 0px 0px 270px 从0px 0px 0px 270px如何将其更改为0px 0px 0px 0px? 我尝试过这些事情,但最终并不是所有的都成功。 驾驶员执行_脚本(“参数[0].style.margin='0px 0px

  • 我在几周内甚至没有接触代码,并说它属于Arraylist之后,就出现了这个错误。这就是我犯的错误。 JAVAlang.RuntimeException:无法启动活动组件信息{com.example.android.login/com.example.android.login.MainActivity}:java。lang.IndexOutOfBoundsException:索引0无效,andro

  • 原因: Workerman是常驻内存运行的,常驻内存可以避免重复读取磁盘、重复解释编译PHP,以便达到最高性能。所以更改业务代码后需要手动reload或者restart才能生效。 同时workerman提供一个监控文件更新的服务,该服务检测到有文件更新后会自动运行reload,从新载入PHP文件。开发者将其放入到项目中随着项目启动即可。 注意:windows系统不支持reload,无法使用监控服务

  • 我使用Apache Flink 1.9和标准检查点/保存点机制来FS。 我的问题是:如果作业的代码发生了更改,从保存点恢复作业的正确方法是什么?例如,在重构之后,我重命名了几个类,之后我无法从旧的检查点恢复。 我丢失了我的数据,想问-在这种情况下我能做些什么? 所有运算符都有uid和name

  • 问题内容: 我想知道是否有某种方法可以使用CSS更改列表中的最后一个CSS属性。我已经研究过使用,但是这似乎确实有问题,因此无法为我工作。如有必要,我将使用JavaScript进行此操作,但是我想知道是否有人可以考虑使用CSS解决方案。 问题答案: 确实是不修改HTML的唯一方法-但假设您可以这样做,主要的选择就是给它一个,然后执行: 显然,您可以使用您选择的动态页面生成语言来自动执行此操作。另外

  • 我正在尝试使用OWIN外部登录到Google/Facebook。 面临的问题是owin挑战不断将响应类型从令牌更改为代码。 挑战生成以下URL:https://accounts.google.com/o/oauth2/auth?response_type=code 这将返回来自google的错误。如果我改变response_type令牌(response_type=令牌)它的工作。 下面是OAut