HtmlTextWriter - 向标签添加多个类

Bre*_*tin 3 c# asp.net class htmltextwriter addattribute

使用 HtmlTextWriter 将多个类添加到标签的最佳方法是什么?

我想做的是类似的事情......

 writer.AddAttribute(HtmlTextWriterAttribute.Class, "Class1");
 writer.AddAttribute(HtmlTextWriterAttribute.Class, "Class2");
 writer.RenderBeginTag(HtmlTextWriterTag.Table);
Run Code Online (Sandbox Code Playgroud)

导致...

<table class="Class1 Class2">
Run Code Online (Sandbox Code Playgroud)

我很感激我能做到...

writer.AddAttribute(HtmlTextWriterAttribute.Class, "Class1 Class2");
Run Code Online (Sandbox Code Playgroud)

然而,在动态构建控件时并不总是如此简单。是否有其他方法可以将类“附加”到标签?

小智 6

为什么不扩展编写器类并在其上添加 AddClass 和 RemoveClass 方法,这些方法在渲染时使用所有添加的类名。在内部,您可以使用 List _classNames 来保存然后加入它们

writer.AddAttribute(HtmlTextWriterAttribute.Class,string.Join(_classNames.ToArray(), " ");

希望有帮助!