protected override void Render(HtmlTextWriter writer)
{
var brew = this.Page.Form.FindControl("__brew");
var widget = new HtmlGenericControl("widget") { ClientIDMode = ClientIDMode.Static };
var options = ParseOptions();
var events = ParseEvents();
if (brew == null) {
throw new ArgumentException("Brew Error: The __brew control was not found on the page or is not accessible.", "brew");
}
widget.Attributes.Add("id", this.ClientID);
widget.Attributes.Add("name", this.Name);
widget.Attributes.Add("for", this.TargetControl.ClientID);
widget.Attributes.Add("data-uniqueid", this.TargetControl.UniqueID);
foreach (var pair in options) {
var value = pair.Value;
widget.Attributes.Add("data-" + pair.Key, Convert.ToString(value));
}
foreach (var pair in events) {
var value = pair.Value;
widget.Attributes.Add("data-" + pair.Key, Convert.ToString(value));
}
brew.Controls.Add(widget);
brew.Controls.Add(new LiteralControl("\n"));
if (this.TagKey != HtmlTextWriterTag.Unknown) {
if (this.ID != null) {
writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
}
writer.RenderBeginTag(this.TagKey);
base.Render(writer);
RenderContents(writer);
writer.RenderEndTag();
}
else {
base.Render(writer);
}
this.Page.VerifyRenderingInServerForm(this);
if (!base.DesignMode) {
this._scriptManager.RegisterScriptDescriptors(this);
}
}