|
namespace System.Web.UI.HtmlControls {
using System;
using System.ComponentModel;
public class HtmlTitle : HtmlControl {
private string _text;
public HtmlTitle() : base("title") {
}
[
WebCategory("Appearance"),
DefaultValue(""),
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
Localizable(true),
PersistenceMode(PersistenceMode.InnerDefaultProperty)
]
public virtual string Text {
get {
if (_text == null) {
return String.Empty;
}
return _text;
}
set {
_text = value;
}
}
protected override void AddParsedSubObject(object obj) {
if (obj is LiteralControl) {
_text = ((LiteralControl)obj).Text;
}
else {
base.AddParsedSubObject(obj);
}
}
// Allow child controls to support databinding expressions as inner text.
protected override ControlCollection CreateControlCollection() {
return new ControlCollection(this);
}
protected internal override void Render(HtmlTextWriter writer) {
writer.RenderBeginTag(HtmlTextWriterTag.Title);
if (HasControls() || HasRenderDelegate()) {
RenderChildren(writer);
}
else if (_text != null) {
writer.Write(_text);
}
writer.RenderEndTag();
}
}
}
|