/// <summary> /// Add attributes to control tags /// </summary> /// <param name="writer">HTML writer</param> /// <param name="control">Control</param> private static void GlueAttributes(HtmlTextWriter writer, Control control) { writer.AddAttribute(templateSrcAttribute, control.TemplateSrc); if (control.AdditionalAttributes != null) { foreach (var attribute in control.AdditionalAttributes) { writer.AddAttribute(attribute, ""); } } writer.AddAttribute("columnspan", control.Size.ColumnSpan); writer.AddAttribute("rowspan", control.Size.RowSpan); writer.AddAttribute("widgetindex", control.Position.WidgetIndex); }
private static void RenderControl(HtmlTextWriter writer, Control control) { GlueStyleAttributes(writer, control); GlueAttributes(writer, control); writer.RenderBeginTag(control.Directive); //Add the Package source attributes here. if (control.IsContainer) { foreach (Control innerControl in control.Controls) { RenderControl(writer, innerControl); } } writer.RenderEndTag(); }
/// <summary> /// Add style attributes to control tags /// </summary> /// <param name="writer">HTML writer</param> /// <param name="control">Control</param> private static void GlueStyleAttributes(HtmlTextWriter writer, Control control) { writer.AddAttribute(HtmlTextWriterAttribute.Id, control.Id.ToString()); var position = new { control.Size.Height, control.Size.Left, control.Size.Top, control.Size.Width, Position = control.Position.ControlPosition }; StringBuilder sb = new StringBuilder(); using (StringWriter sw = new StringWriter(sb)) using (JsonTextWriter jsonWriter = new JsonTextWriter(sw)) { JsonSerializer ser = new JsonSerializer(); ser.Serialize(jsonWriter, position); } writer.AddAttribute("position", sb.ToString().ToLower()); }