HtmlOutputElement
sealed class HtmlOutputElement : HtmlFormControlElement, IHtmlOutputElement, IHtmlElement, IElement, INode, IEventTarget, IMarkupFormattable, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle, IGlobalEventHandlers, IValidation
Represents an HTML output element.
using AngleSharp.Dom.Collections;
using AngleSharp.Dom.Css;
using AngleSharp.Dom.Events;
using AngleSharp.Extensions;
using AngleSharp.Html;
namespace AngleSharp.Dom.Html
{
internal sealed class HtmlOutputElement : HtmlFormControlElement, IHtmlOutputElement, IHtmlElement, IElement, INode, IEventTarget, IMarkupFormattable, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle, IGlobalEventHandlers, IValidation
{
private string _defaultValue;
private string _value;
private SettableTokenList _for;
public string DefaultValue {
get {
return _defaultValue ?? TextContent;
}
set {
_defaultValue = value;
}
}
public override string TextContent {
get {
return _value ?? _defaultValue ?? base.TextContent;
}
set {
base.TextContent = value;
}
}
public string Value {
get {
return TextContent;
}
set {
_value = value;
}
}
public ISettableTokenList HtmlFor {
get {
if (_for == null) {
_for = new SettableTokenList(this.GetOwnAttribute(AttributeNames.For));
_for.Changed += delegate(string value) {
UpdateAttribute(AttributeNames.For, value);
};
}
return _for;
}
}
public string Type => TagNames.Output;
static HtmlOutputElement()
{
Element.RegisterCallback(AttributeNames.For, delegate(HtmlOutputElement element, string value) {
element._for?.Update(value);
});
}
public HtmlOutputElement(Document owner, string prefix = null)
: base(owner, TagNames.Output, prefix, NodeFlags.None)
{
}
protected override bool CanBeValidated()
{
return true;
}
internal override void Reset()
{
_value = null;
}
}
}