public WebPart AddWebPart(WebPart webPart, WebPartZoneBase zone, int zoneIndex)
 {
     this.Personalization.EnsureEnabled(true);
     if (webPart == null)
     {
         throw new ArgumentNullException("webPart");
     }
     if (zone == null)
     {
         throw new ArgumentNullException("zone");
     }
     if (!this._webPartZones.Contains(zone))
     {
         throw new ArgumentException(System.Web.SR.GetString("WebPartManager_MustRegister"), "zone");
     }
     if (zoneIndex < 0)
     {
         throw new ArgumentOutOfRangeException("zoneIndex");
     }
     if ((webPart.Zone != null) && !webPart.IsClosed)
     {
         throw new ArgumentException(System.Web.SR.GetString("WebPartManager_AlreadyInZone"), "webPart");
     }
     WebPartAddingEventArgs e = new WebPartAddingEventArgs(webPart, zone, zoneIndex);
     this.OnWebPartAdding(e);
     if (this._allowEventCancellation && e.Cancel)
     {
         return null;
     }
     if (this.Controls.Contains(webPart))
     {
         WebPart part = webPart;
         this.AddWebPartToZone(webPart, zone, zoneIndex);
         this.OnWebPartAdded(new WebPartEventArgs(part));
         return part;
     }
     return this.AddDynamicWebPartToZone(webPart, zone, zoneIndex);
 }
 protected virtual void OnWebPartAdding(WebPartAddingEventArgs e)
 {
     WebPartAddingEventHandler handler = (WebPartAddingEventHandler) base.Events[WebPartAddingEvent];
     if (handler != null)
     {
         handler(this, e);
     }
 }
 protected virtual new void OnWebPartAdding(WebPartAddingEventArgs e)
 {
 }
        // Returns the WebPart that was actually added.  For an existing Closed WebPart, this is a reference
        // to the webPart parameter.  For a new DynamicWebPart, this will be a copy of the webPart parameter.
        public WebPart AddWebPart(WebPart webPart, WebPartZoneBase zone, int zoneIndex) {
            Personalization.EnsureEnabled(/* ensureModifiable */ true);

            if (webPart == null) {
                throw new ArgumentNullException("webPart");
            }
            // Do not check that Controls.Contains(webPart), since this will be called on a WebPart
            // before it is added to the Controls collection.
            if (zone == null) {
                throw new ArgumentNullException("zone");
            }
            if (_webPartZones.Contains(zone) == false) {
                throw new ArgumentException(SR.GetString(SR.WebPartManager_MustRegister), "zone");
            }
            if (zoneIndex < 0) {
                throw new ArgumentOutOfRangeException("zoneIndex");
            }
            if (webPart.Zone != null && !webPart.IsClosed) {
                throw new ArgumentException(SR.GetString(SR.WebPartManager_AlreadyInZone), "webPart");
            }

            WebPartAddingEventArgs e = new WebPartAddingEventArgs(webPart, zone, zoneIndex);
            OnWebPartAdding(e);
            if (_allowEventCancellation && e.Cancel) {
                return null;
            }

            WebPart addedWebPart;

            // If a part is already in the controls collection, dynamic or static, just make it
            // not closed and add it to the specified zone
            if (Controls.Contains(webPart)) {
                addedWebPart = webPart;
                AddWebPartToZone(webPart, zone, zoneIndex);
                OnWebPartAdded(new WebPartEventArgs(addedWebPart));
            } else {
                addedWebPart = AddDynamicWebPartToZone(webPart, zone, zoneIndex);
                // OnWebPartAdded() is called by AddDynamicWebPartToZone
            }

#if DEBUG
            CheckPartZoneIndexes(zone);
#endif

            return addedWebPart;
        }
Esempio n. 5
0
 private void WebPartManager_WebPartAdding(object sender, WebPartAddingEventArgs e)
 {
     WebPartZoneBase zone = e.Zone;
     if (e.ZoneIndex < zone.WebParts.Count)
     {
         WebPart part = zone.WebParts[e.ZoneIndex];
         if (part != null && part is ISymbolWebPart && !part.IsStatic)
         {
             base.WebPartManager.DeleteWebPart(part);
         }
     }
 }
 protected virtual new void OnWebPartAdding(WebPartAddingEventArgs e)
 {
 }