Exemple #1
0
        protected override void RenderBody(HtmlTextWriter writer)
        {
            RenderBodyTableBeginTag(writer);
            if (DesignMode)
            {
                RenderDesignerRegionBeginTag(writer, Orientation.Vertical);
            }

            if (HasControls())
            {
                bool firstCell = true;

                RenderInstructionText(writer, ref firstCell);

                if (_applyError)
                {
                    RenderErrorText(writer, ref firstCell);
                }

                EditorPartChrome chrome = EditorPartChrome;
                foreach (EditorPart editorPart in EditorParts)
                {
                    if ((!editorPart.Display) || (!editorPart.Visible))
                    {
                        continue;
                    }

                    writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                    if (!firstCell)
                    {
                        writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingTop, "0");
                    }
                    else
                    {
                        firstCell = false;
                    }
                    writer.RenderBeginTag(HtmlTextWriterTag.Td);

                    chrome.RenderEditorPart(writer, editorPart);

                    writer.RenderEndTag();  // Td
                    writer.RenderEndTag();  // Tr
                }

                writer.RenderBeginTag(HtmlTextWriterTag.Tr);

                // Mozilla renders padding on an empty TD without this attribute
                writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "0");

                // Add an extra row with height of 100%, to Microsoft up any extra space
                // if the height of the zone is larger than its contents
                // Mac IE needs height=100% set on <td> instead of <tr>
                writer.AddStyleAttribute(HtmlTextWriterStyle.Height, "100%");

                writer.RenderBeginTag(HtmlTextWriterTag.Td);
                writer.RenderEndTag(); // Td
                writer.RenderEndTag(); // Tr
            }
            else
            {
                RenderEmptyZoneText(writer);
            }

            if (DesignMode)
            {
                RenderDesignerRegionEndTag(writer);
            }
            RenderBodyTableEndTag(writer);
        }
Exemple #2
0
        protected internal override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            EditorPartChrome.PerformPreRender();
        }