【问题标题】:Possible to add a class to an existing class attribute of object via C#?可以通过 C# 将类添加到对象的现有类属性中吗?
【发布时间】:2011-03-18 05:43:21
【问题描述】:

我有一个现有的输入类,是否可以在 C#.net 中为对象添加一个附加类,而不是执行 if/else 并且首先在对象上没有预设类?

【问题讨论】:

  • 尽我所能,我无法理解这个问题。 “为这个对象添加一个额外的类”是什么意思? “在对象上有一个预设类”是什么意思?也许一些示例代码会有所帮助?

标签: c# asp.net css


【解决方案1】:
txtField.CssClass = "first_class";
// Output: class="first_class"

txtField.CssClass += " another_class";
// Output: class="first_class another_class"

【讨论】:

  • 这该死的摇滚!!!我刚看了这个叫做 Lambda 表达式,3.5 引入的,我在用!
【解决方案2】:

试试这个,对我有用。

public static class ControlUtility
{
    public static void AddCssClass(WebControl control, string cssClass)
    {
        control.CssClass += " " + cssClass;
    }
    public static void RemoveCssClass(WebControl control, string cssClass)
    {
        control.CssClass = control.CssClass.Replace(" " + cssClass, "");
    }
}

ControlUtility.RemoveCssClass(lnkletter, "ln-enabled");
ControlUtility.RemoveCssClass(lnkletter, "ln-disabled");

【讨论】:

  • 直接从另一个 SO 用户的帖子中复制,不注明出处。不好。
  • 嗨,我直接从我的代码库中复制了这个。如果你也这样做,那不是我的错。不知道它在堆栈溢出时存在,我没有点击最后一个链接
  • 我会告诉你这个疑问的好处,尽管你很可能最初是从 AnthonyWJones 的帖子 stackoverflow.com/questions/445967/…> 中得到它的 - 不过很容易忘记。
【解决方案3】:

这没用

txtSubject.CssClass.Replace("text-single", "text-single subjectDisabled");

在这里找到解决方案:

Best way to change CSS Classes from code

【讨论】:

  • 这个解决方案现在对我来说已经过时了...参见上面 meep 的 Lambda 表达式示例,它与 JavaScript 非常相似
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多