Пример #1
0
 /// <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);
 }
Пример #2
0
        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();
        }
Пример #3
0
        /// <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());
        }