HtmlElement¶
Concrete, in-memory composable HTML element implementing IHtmlNode; provides a general-purpose fluent way to build arbitrary markup, though it is not consumed by any other type in this library — a public building block for consuming applications.*
Purpose¶
- Concrete, in-memory composable HTML element implementing
IHtmlNode; provides a general-purpose fluent way to build arbitrary markup, though it is not consumed by any other type in this library — a public building block for consuming applications.*
Context¶
- Namespace:
SAIF.Web.Mvc.UI - Assembly/package:
SAIF.Framework.Web.Mvc (source-shipping NuGet package) - Kind: class
Public members¶
| Member | Signature | Purpose |
|---|---|---|
| HtmlElement(string) | public HtmlElement(string tagName) |
Constructs the element for the given tag name using TagRenderMode.Normal, delegating to the two-argument constructor. |
| HtmlElement(string, TagRenderMode) | public HtmlElement(string tagName, TagRenderMode renderMode) |
Constructs the element, wrapping an internal TagBuilder for the given tag, storing renderMode, and initializing Children to an empty list. |
| Children | public IList<IHtmlNode> Children { get; } |
The nested child nodes appended to this element; when non-empty, WriteTo and InnerHtml render these instead of any raw HTML previously set via Html(string). |
| InnerHtml | public string InnerHtml { get; } |
Read-only. Returns the concatenated ToString() of every child in Children when children exist; otherwise returns the raw inner HTML string previously set via Html(string). |
| RenderMode | public TagRenderMode RenderMode { get; } |
Read-only. The tag rendering mode captured at construction (Normal, StartTag, EndTag, or SelfClosing), controlling how WriteTo emits the tag. |
| TagName | public string TagName { get; } |
Read-only. The HTML tag name supplied to the constructor, exposed from the underlying TagBuilder. |
| AddClass(string[]) | public IHtmlNode AddClass(params string[] classes) |
Appends each given class name to the existing class attribute value (space-separated), creating the attribute if absent, and returns this element for chaining. |
| PrependClass(string[]) | public IHtmlNode PrependClass(params string[] classes) |
Adds each given class name via TagBuilder.AddCssClass, which inserts it ahead of classes already present, and returns this element for chaining. |
| AppendTo(IHtmlNode) | public IHtmlNode AppendTo(IHtmlNode parent) |
Adds this element to parent.Children and returns this element for chaining. |
| Attributes() | public IDictionary<string, string> Attributes() |
Returns the live attribute dictionary backing the underlying TagBuilder, allowing direct reads or mutation. |
| Attribute(string) | public string Attribute(string key) |
Returns the current value of the named attribute from the attribute dictionary; throws if the key is not present. |
| Attribute(string, string) | public IHtmlNode Attribute(string key, string value) |
Sets the named attribute, replacing any existing value, by delegating to the three-argument overload with replaceExisting: true. |
| Attribute(string, string, bool) | public IHtmlNode Attribute(string key, string value, bool replaceExisting) |
Merges the named attribute into the underlying TagBuilder, either replacing or preserving an existing value depending on replaceExisting, and returns this element for chaining. |
| Attributes(object) | public IHtmlNode Attributes(object attributes) |
Converts the anonymous object's properties to a string/string dictionary and merges them in, replacing existing values, then returns this element for chaining. |
| Attributes<TKey, TValue>(IDictionary<TKey, TValue>) | public IHtmlNode Attributes<TKey, TValue>(IDictionary<TKey, TValue> attributes) |
Merges the supplied attribute dictionary in, replacing existing values, by delegating to the overload that accepts replaceExisting. |
| Attributes<TKey, TValue>(IDictionary<TKey, TValue>, bool) | public IHtmlNode Attributes<TKey, TValue>(IDictionary<TKey, TValue> attributes, bool replaceExisting) |
Merges each entry of the supplied dictionary into the underlying TagBuilder's attributes, replacing or preserving existing values per replaceExisting, and returns this element for chaining. |
| Css(string, string) | public IHtmlNode Css(string key, string value) |
Appends a key:value pair to the style attribute (creating it if absent), skipping the append when the existing style already contains display:none, and returns this element for chaining. |
| Html(string) | public IHtmlNode Html(string value) |
Clears Children and sets the underlying TagBuilder.InnerHtml to the given raw HTML string, then returns this element for chaining. |
| Template() | public Action<TextWriter> Template() |
Returns the callback previously set via Template(Action<TextWriter>), or null if none was set. |
| Template(Action<TextWriter>) | public IHtmlNode Template(Action<TextWriter> value) |
Stores a callback that, when present, takes over rendering of the element's inner content in WriteTo (overriding Children and InnerHtml), and returns this element for chaining. |
| Text(string) | public IHtmlNode Text(string value) |
Sets the underlying TagBuilder's inner text (HTML-encoded via SetInnerText) and clears Children, then returns this element for chaining. |
| WriteTo(TextWriter) | public void WriteTo(TextWriter output) |
Writes the composed markup: for SelfClosing mode, writes the self-closing tag only; otherwise writes the start tag, then the template callback if set, else the rendered children if any exist, else the raw inner HTML, and finally the end tag. |
Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.
Sources¶
src/Web.Mvc/UI/HtmlElement.cs