protected override EditorPartCollection CreateEditorParts() {
            EditorPartCollection editorParts = new EditorPartCollection();

            if (_zoneTemplate != null) {
                // PERF: Instantiate the template into a special control, that does nothing when a child control
                // is added.  This is more performant because the child control is never parented to the temporary
                // control, it's ID is never generated, etc.
                Control container = new NonParentingControl();

                _zoneTemplate.InstantiateIn(container);
                if (container.HasControls()) {
                    foreach (Control control in container.Controls) {
                        EditorPart part = control as EditorPart;

                        if (part != null) {
                            editorParts.Add(part);
                        }
                        else {
                            LiteralControl literal = control as LiteralControl;
                            // Throw an exception if it is *not* a literal containing only whitespace
                            // Don't throw an exception in the designer, since we want only the offending
                            // control to render as an error block, not the whole EditorZone.
                            if (((literal == null) || (literal.Text.Trim().Length != 0)) && !DesignMode) {
                                throw new InvalidOperationException(SR.GetString(SR.EditorZone_OnlyEditorParts, ID));
                            }
                        }
                    }
                }
            }

            return editorParts;
        }
 protected override EditorPartCollection CreateEditorParts()
 {
     EditorPartCollection parts = new EditorPartCollection();
     if (this._zoneTemplate != null)
     {
         Control container = new NonParentingControl();
         this._zoneTemplate.InstantiateIn(container);
         if (!container.HasControls())
         {
             return parts;
         }
         foreach (Control control2 in container.Controls)
         {
             EditorPart part = control2 as EditorPart;
             if (part != null)
             {
                 parts.Add(part);
             }
             else
             {
                 LiteralControl control3 = control2 as LiteralControl;
                 if (((control3 == null) || (control3.Text.Trim().Length != 0)) && !base.DesignMode)
                 {
                     throw new InvalidOperationException(System.Web.SR.GetString("EditorZone_OnlyEditorParts", new object[] { this.ID }));
                 }
             }
         }
     }
     return parts;
 }
        protected override EditorPartCollection CreateEditorParts()
        {
            EditorPartCollection parts = new EditorPartCollection();

            if (this._zoneTemplate != null)
            {
                Control container = new NonParentingControl();
                this._zoneTemplate.InstantiateIn(container);
                if (!container.HasControls())
                {
                    return(parts);
                }
                foreach (Control control2 in container.Controls)
                {
                    EditorPart part = control2 as EditorPart;
                    if (part != null)
                    {
                        parts.Add(part);
                    }
                    else
                    {
                        LiteralControl control3 = control2 as LiteralControl;
                        if (((control3 == null) || (control3.Text.Trim().Length != 0)) && !base.DesignMode)
                        {
                            throw new InvalidOperationException(System.Web.SR.GetString("EditorZone_OnlyEditorParts", new object[] { this.ID }));
                        }
                    }
                }
            }
            return(parts);
        }
Example #4
0
        protected override EditorPartCollection CreateEditorParts()
        {
            EditorPartCollection editorParts = new EditorPartCollection();

            if (_zoneTemplate != null)
            {
                // PERF: Instantiate the template into a special control, that does nothing when a child control
                // is added.  This is more performant because the child control is never parented to the temporary
                // control, it's ID is never generated, etc.
                Control container = new NonParentingControl();

                _zoneTemplate.InstantiateIn(container);
                if (container.HasControls())
                {
                    foreach (Control control in container.Controls)
                    {
                        EditorPart part = control as EditorPart;

                        if (part != null)
                        {
                            editorParts.Add(part);
                        }
                        else
                        {
                            LiteralControl literal = control as LiteralControl;
                            // Throw an exception if it is *not* a literal containing only whitespace
                            // Don't throw an exception in the designer, since we want only the offending
                            // control to render as an error block, not the whole EditorZone.
                            if (((literal == null) || (literal.Text.Trim().Length != 0)) && !DesignMode)
                            {
                                throw new InvalidOperationException(SR.GetString(SR.EditorZone_OnlyEditorParts, ID));
                            }
                        }
                    }
                }
            }

            return(editorParts);
        }