private static void WriteTo( TagBuilder tagBuilder, TextWriter writer, HtmlEncoder encoder, TagRenderMode tagRenderMode) { switch (tagRenderMode) { case TagRenderMode.StartTag: writer.Write("<"); writer.Write(tagBuilder.TagName); tagBuilder.AppendAttributes(writer, encoder); writer.Write(">"); break; case TagRenderMode.EndTag: writer.Write("</"); writer.Write(tagBuilder.TagName); writer.Write(">"); break; case TagRenderMode.SelfClosing: writer.Write("<"); writer.Write(tagBuilder.TagName); tagBuilder.AppendAttributes(writer, encoder); writer.Write(" />"); break; default: writer.Write("<"); writer.Write(tagBuilder.TagName); tagBuilder.AppendAttributes(writer, encoder); writer.Write(">"); if (tagBuilder._innerHtml != null) { tagBuilder._innerHtml.WriteTo(writer, encoder); } writer.Write("</"); writer.Write(tagBuilder.TagName); writer.Write(">"); break; } }