我正在尝试以编程方式将第二个类添加到<td>
C# 中的元素。
我想要添加类的元素已经分配了一个类。
如果我做类似的事情
myObject.CssClass = "MyClass";
它只是覆盖原来的类。
我想我可以做类似的事情
myObject.CssClass += " MyClass";
但那很丑..
*免责声明 - 我讨厌在 C# 中使用 HTML/CSS 做任何事情,但我被指派对已经很糟糕的代码库进行快速修复。我不认为在这里“抛光粪便”有任何意义,所以请不要射杀我! :-)
如果您不喜欢处理字符串连接,您可以创建一些辅助扩展方法。也许有更多代码,但您可以添加和删除类,而无需查看后面的内容。也许代码在你使用的地方看起来会更清晰。
myObject.AddCssClass("someclass");
myObject.RemoveCssClass("someclass");
---------
public static class WebHelper
{
public static void AddCssClass(this WebControl control, string cssClass)
{
List<string> classes;
if (!string.IsNullOrWhiteSpace(control.CssClass))
{
classes = control.CssClass.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries).ToList();
if (!classes.Contains(cssClass))
classes.Add(cssClass);
}
else
{
classes = new List<string> {cssClass};
}
control.CssClass = string.Join(" ", classes.ToArray());
}
public static void RemoveCssClass(this WebControl control, string cssClass)
{
List<string> classes = new List<string>();
if (!string.IsNullOrWhiteSpace(control.CssClass))
{
classes = control.CssClass.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries).ToList();
}
classes.Remove(cssClass);
control.CssClass = string.Join(" ", classes.ToArray());
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)