protected void OnImagePanel_DeleteClicked(object sender, EventArgs e) { ImagePanel removeItem = sender as ImagePanel; if (removeItem != null) { Post currentPost = ViewState["CurrentPost"] as Post; if (currentPost != null && currentPost.ImageList.Count(i => i.ImageId == removeItem.ImageDataItem.ImageId) > 0) { currentPost.ImageList = currentPost.ImageList.Where(i => i.ImageId != removeItem.ImageDataItem.ImageId).ToList(); } ViewState["CurrentPost"] = currentPost; //removeItem.DeleteClicked -= new EventHandler(OnImagePanel_DeleteClicked); panelImage.Controls.Remove(removeItem); removeItem.Visible = false; //BindEditImageList(); } }
void BindEditImageList() { Post post = ViewState["CurrentPost"] as Post; if (post == null) { return; } if (post != null && post.ImageList != null && post.ImageList.Count > 0) { foreach (Common.Image imageData in post.ImageList) { ImagePanel imagePanel = (ImagePanel)this.LoadControl("~/UserControls/ImagePanel.ascx"); imagePanel.ImageDataItem = imageData; imagePanel.CanEdit = true; imagePanel.DeleteClicked += new EventHandler(OnImagePanel_DeleteClicked); panelImage.Controls.Add(imagePanel); } } }