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); }
protected internal override void OnPreRender(EventArgs e) { base.OnPreRender(e); EditorPartChrome.PerformPreRender(); }