private void btn_Export_Click(object sender, EventArgs e) { using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.OpenWeb(webUrl)) { SPFile thePage = web.GetFile(pageUrl); SPLimitedWebPartManager theWebPartManager = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection webParts = theWebPartManager.WebParts; XmlWriter writer = null; for (int i = 0; i < webParts.Count; i++) { try { writer = new XmlTextWriter(tb_ExportPath.Text + webParts[i].Title + ".xml", Encoding.UTF8); theWebPartManager.ExportWebPart(webParts[i], writer); writer.Flush(); writer.Close(); tb_Message.Text += webParts[i].Title + "Export Success..."; } catch { tb_Message.Text += webParts[i].Title + "Export Failed..."; } } } } }
protected override void CreateChildControls() { base.CreateChildControls(); //Create the textbox for specifying the Silverlight application textboxSilverlightApplication = new TextBox(); textboxSilverlightApplication.Width = 300; this.Controls.Add(textboxSilverlightApplication); //Create the drop down list for choosing the web part to connect to ddlSendMessageToThisWebPart = new DropDownList(); //Add an item to the drop down list for every Connectable Silverlight Web Part on the page ListItem currentItem; SPFile currentPage = SPContext.Current.File; SPLimitedWebPartManager WPM = currentPage.GetLimitedWebPartManager(PersonalizationScope.Shared); SPLimitedWebPartCollection WebPartCollection = WPM.WebParts; foreach (System.Web.UI.WebControls.WebParts.WebPart currentWebPart in WebPartCollection) { //Make sure this is a Connectable Silverlight Web Part if (currentWebPart.GetType().ToString() == "DemoWebParts.SilverlightToSilverlight.ConnectableSilverlightWebPart") { //Add the item currentItem = new ListItem(); currentItem.Text = currentWebPart.Title; currentItem.Value = "SLReceiver_ctl00_m_" + currentWebPart.ClientID; ddlSendMessageToThisWebPart.Items.Add(currentItem); } } this.Controls.Add(ddlSendMessageToThisWebPart); }
private void btn_DeleteWPinPage_Click(object sender, EventArgs e) { using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.OpenWeb(webUrl)) { SPFile thePage = web.GetFile(pageUrl); SPLimitedWebPartManager theWebPartManager = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection webParts = theWebPartManager.WebParts; int Num = webParts.Count; //foreach( System.Web.UI.WebControls.WebParts.WebPart wp inwebParts for (int i = Num - 1; i >= 0; i--) { System.Web.UI.WebControls.WebParts.WebPart wp = webParts[i]; for (int j = 0; j < clBox_WebParts.Items.Count; j++) { if ((clBox_WebParts.GetItemChecked(j)) && (clBox_WebParts.Items[j].ToString() == wp.DisplayTitle)) { theWebPartManager.DeleteWebPart(wp); tb_Message.Text += clBox_WebParts.Items[j].ToString() + "Delete in Page Success..."; } } } clBox_WebParts.Items.Clear(); for (int i = 0; i < webParts.Count; i++) { clBox_WebParts.Items.Add(webParts[i].DisplayTitle); } } } }
public SPLimitedWebPartCollectionInstance(ObjectInstance prototype, SPLimitedWebPartCollection limitedWebPartCollection) : this(prototype) { if (limitedWebPartCollection == null) { throw new ArgumentNullException("limitedWebPartCollection"); } m_limitedWebPartCollection = limitedWebPartCollection; }
private static void RestoreDataViewInZone(SPWeb web, string filePath) { if (!File.Exists(filePath) || web == null) { return; } XmlDocument doc = new XmlDocument(); try { doc.Load(filePath); } catch (XmlException) { return; } XmlNodeList xFixupFiles = doc.DocumentElement.SelectNodes("FixupFiles/FixupFile[@DataViewInZone=\"TRUE\"]"); foreach (XmlNode xFixupFile in xFixupFiles) { XmlAttribute xRelativePath = xFixupFile.Attributes["RelativePath"]; if (xRelativePath == null) { continue; } string relativePath = xRelativePath.Value; SPFile file = web.GetFile(relativePath); if (file == null) { continue; } SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection pageWebParts = manager.WebParts; if (pageWebParts == null) { continue; } foreach (System.Web.UI.WebControls.WebParts.WebPart webPart in pageWebParts) { DataFormWebPart dataForm = webPart as DataFormWebPart; if (dataForm == null) { continue; } SubstituteGuidInZone(web, manager, dataForm, filePath); } } }
private void btnReset_Click(object sender, EventArgs e) { try { _wColl = _mySiteObj.GetWebPartsList(); } catch (MySiteDoesNotExistException ex) { MessageBox.Show(ex.Message, "Error"); return; } LoadControls(); }
private static void DeleteAllWebParts(string destinationPageUrlServerRelative, SPWeb destinationPageWeb, string sourcePageUrlServerRelative, SPWeb sourcePageWeb, bool shouldOverwriteDestinationWebParts) { SPWeb web = null; SPWeb web2 = null; try { SPLimitedWebPartManager limitedWebPartManager = destinationPageWeb.GetLimitedWebPartManager(destinationPageUrlServerRelative, PersonalizationScope.Shared); SPLimitedWebPartManager manager2 = sourcePageWeb.GetLimitedWebPartManager(sourcePageUrlServerRelative, PersonalizationScope.Shared); web2 = limitedWebPartManager.Web; web = manager2.Web; SPLimitedWebPartCollection webParts = manager2.WebParts; SPLimitedWebPartCollection parts2 = limitedWebPartManager.WebParts; if (shouldOverwriteDestinationWebParts && (parts2 != null)) { while (parts2.Count > 0) { try { limitedWebPartManager.DeleteWebPart(parts2[0]); continue; } catch (WebPartPageUserException) { } } } } catch (Exception e) { if (HttpContext.Current != null) { throw; } } finally { if ((web != sourcePageWeb) && (web != null)) { web.Close(); } if ((web2 != destinationPageWeb) && (web2 != null)) { web2.Close(); } } }
private void btn_LoadWPinPage_Click(object sender, EventArgs e) { using (SPSite site = new SPSite(siteUrl)) { using (SPWeb web = site.OpenWeb(webUrl)) { SPFile thePage = web.GetFile(pageUrl); SPLimitedWebPartManager theWebPartManager = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection webParts = theWebPartManager.WebParts; clBox_WebParts.Items.Clear(); for (int i = 0; i < webParts.Count; i++) { clBox_WebParts.Items.Add(webParts[i].DisplayTitle); } tb_Message.Text += "Load WebParts in Page Success..."; } } }
protected void setUpList(int baseId) { string siteUrl = SPContext.Current.Web.Url; SPSite oSiteCollection = SPContext.Current.Site; oList = SPContext.Current.Web.Lists["Alerts Noticeboard"]; SPWeb web = SPContext.Current.Web; web.AllowUnsafeUpdates = true; string pageUrl = "SitePages/managealerts.aspx"; SPFile page = web.GetFile(pageUrl); SPLimitedWebPartManager wpmgr = page.GetLimitedWebPartManager(PersonalizationScope.Shared); Guid storageKey = Guid.NewGuid(); string wpId = String.Format("g_{0}", storageKey.ToString().Replace('-', '_')); SPLimitedWebPartCollection WebParts = wpmgr.WebParts; XsltListViewWebPart xwp = new XsltListViewWebPart(); //SPViewCollection viewsCol = oList.Views; xwp.ID = wpId; xwp.ListName = oList.ID.ToString("B").ToUpper(); wpmgr.AddWebPart(xwp, "WebPartZone1", 0); if (WebParts.Count > 1) { wpmgr.DeleteWebPart(xwp); } }
public string GetViewId() { string ViewId = string.Empty; using (SPSite site = new SPSite(SPContext.Current.Site.ID)) { using (SPWeb web = site.OpenWeb(SPContext.Current.Web.ID)) { SPFile thePage = web.GetFile(Page.Request.Url.ToString()); SPLimitedWebPartManager theWebPartManager = thePage.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection WebPartColl = theWebPartManager.WebParts; for (int i = 0; i < WebPartColl.Count; i++) { if (WebPartColl[i].GetType().ToString() == "Microsoft.SharePoint.WebPartPages.XsltListViewWebPart") { ViewId += WebPartColl[i].ClientID.ToString().Replace('_', '-').Substring(2); } } } } SPForumsLeftMenuZone.InnerHtml += ViewId; return(ViewId); }
private static void CopyAllWebParts(string destinationPageUrlServerRelative, SPWeb destinationPageWeb, string sourcePageUrlServerRelative, SPWeb sourcePageWeb, bool shouldOverwriteDestinationWebParts) { SPWeb web = null; SPWeb web2 = null; try { SPLimitedWebPartManager limitedWebPartManager = destinationPageWeb.GetLimitedWebPartManager(destinationPageUrlServerRelative, PersonalizationScope.Shared); SPLimitedWebPartManager manager2 = sourcePageWeb.GetLimitedWebPartManager(sourcePageUrlServerRelative, PersonalizationScope.Shared); web2 = limitedWebPartManager.Web; web = manager2.Web; SPLimitedWebPartCollection webParts = manager2.WebParts; SPLimitedWebPartCollection parts2 = limitedWebPartManager.WebParts; if (webParts.Count > 0) { foreach (System.Web.UI.WebControls.WebParts.WebPart part in webParts) { if (!part.IsClosed) { System.Web.UI.WebControls.WebParts.WebPart webPart = parts2[part.ID]; if (webPart == null) { try { string zoneID = manager2.GetZoneID(part); limitedWebPartManager.AddWebPart(part, zoneID, part.ZoneIndex); } catch (ArgumentException e) { } } else { if (webPart.IsClosed) { limitedWebPartManager.OpenWebPart(webPart); } } } } } } catch (Exception e) { if (HttpContext.Current != null) { throw; } } finally { if ((web != sourcePageWeb) && (web != null)) { web.Close(); } if ((web2 != destinationPageWeb) && (web2 != null)) { web2.Close(); } } }
private void LoadControls() { int index = 0; dtWpData.Tables.Clear(); lstWebParts.Items.Clear(); lstWebParts.ClearSelected(); dgProperties.DataSource = null; dgProperties.ClearSelection(); _changes.Rows.Clear(); try { _wColl = _mySiteObj.GetWebPartsList(); } catch (MySiteDoesNotExistException ex) { MessageBox.Show(ex.Message, "Error"); return; } catch (UserNotFoundException ex) { MessageBox.Show(ex.Message, "Error"); return; } foreach (System.Web.UI.WebControls.WebParts.WebPart wpPart in _wColl) { #region Add Webparts to ListBox and and there properties lstWebParts.Items.Add(new WebPartItem(wpPart.Title, wpPart.ID, wpPart.GetType().AssemblyQualifiedName)); dtWpData.Tables.Add(new DataTable()); dtWpData.Tables[index].Columns.Add("Property"); dtWpData.Tables[index].Columns.Add("Type"); dtWpData.Tables[index].Columns.Add("Value"); dtWpData.Tables[index].Columns.Add("Assembly"); dtWpData.Tables[index].Columns.Add("IsDirty"); dtWpData.Tables[index].Columns.Add("PropertyType"); Ref.PropertyInfo[] propInfoColl = wpPart.GetType().GetProperties(); foreach (Ref.PropertyInfo propInfo in propInfoColl) { Object[] attribColl = propInfo.GetCustomAttributes(true); foreach (Object obj in attribColl) { #region Add Attribute to DT if (obj is WebBrowsableAttribute) { WebBrowsableAttribute browAtt = (WebBrowsableAttribute)obj; if (browAtt.Browsable) { Object value = propInfo.GetValue(wpPart, null); dtWpData.Tables[index].Rows.Add(propInfo.Name, propInfo.PropertyType, value, propInfo.PropertyType.AssemblyQualifiedName, false, propInfo.PropertyType.ToString()); break; } } else if (obj is WebPartStorageAttribute) { WebPartStorageAttribute storAtt = obj as WebPartStorageAttribute; if (storAtt.Storage == Storage.Personal) { Object value = propInfo.GetValue(wpPart, null); dtWpData.Tables[index].Rows.Add(propInfo.Name, propInfo.PropertyType, value, propInfo.PropertyType.AssemblyQualifiedName, false, propInfo.PropertyType.ToString()); break; } } #endregion } } index++; } dtOriginal = dtWpData.Copy(); #endregion }
private static void RestoreDataViewOutZone(SPWeb web, string filePath) { if (!File.Exists(filePath) || web == null) { return; } XmlDocument doc = new XmlDocument(); try { doc.Load(filePath); } catch (XmlException) { return; } XmlNodeList xFixupFiles = doc.DocumentElement.SelectNodes("FixupFiles/FixupFile[@DataViewOutZone=\"TRUE\"]"); foreach (XmlNode xFixupFile in xFixupFiles) { XmlAttribute xRelativePath = xFixupFile.Attributes["RelativePath"]; if (xRelativePath == null) { continue; } string relativePath = xRelativePath.Value; SPFile file = web.GetFile(relativePath); if (file == null) { continue; } string fileName = file.Name; string content = String.Empty; using (StreamReader reader = new StreamReader(file.OpenBinaryStream())) { content = reader.ReadToEnd(); content = SubstituteGuid(web, filePath, content); } UTF8Encoding encoder = new UTF8Encoding(); byte[] contentAsBytes = encoder.GetBytes(content); // store to temporary file SPFile temp = web.Files.Add("temp.aspx", contentAsBytes); SPLimitedWebPartManager sourceManager = file.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); SPLimitedWebPartCollection sourceWebParts = sourceManager.WebParts; SPLimitedWebPartManager targetManager = temp.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared); foreach (System.Web.UI.WebControls.WebParts.WebPart webPart in sourceWebParts) { string zoneId = sourceManager.GetZoneID(webPart); targetManager.AddWebPart(webPart, zoneId, webPart.ZoneIndex); } foreach (SPWebPartConnection connection in sourceManager.SPWebPartConnections) { targetManager.SPConnectWebParts(connection.Provider, connection.ProviderConnectionPoint, connection.Consumer, connection.ConsumerConnectionPoint, connection.Transformer); } file.Delete(); temp.CopyTo(fileName); temp.Delete(); web.Update(); } }
private void LoadControls() { int index = 0; dtWpData.Tables.Clear(); lstWebParts.Items.Clear(); lstWebParts.ClearSelected(); dgProperties.DataSource = null; dgProperties.ClearSelection(); _changes.Rows.Clear(); try { _wColl = _mySiteObj.GetWebPartsList(); } catch (MySiteDoesNotExistException ex) { MessageBox.Show(ex.Message, "Error"); return; } catch (UserNotFoundException ex) { MessageBox.Show(ex.Message, "Error"); return; } foreach (System.Web.UI.WebControls.WebParts.WebPart wpPart in _wColl) { #region Add Webparts to ListBox and and there properties lstWebParts.Items.Add(new WebPartItem(wpPart.Title, wpPart.ID, wpPart.GetType().AssemblyQualifiedName)); dtWpData.Tables.Add(new DataTable()); dtWpData.Tables[index].Columns.Add("Property"); dtWpData.Tables[index].Columns.Add("Type"); dtWpData.Tables[index].Columns.Add("Value"); dtWpData.Tables[index].Columns.Add("Assembly"); dtWpData.Tables[index].Columns.Add("IsDirty"); dtWpData.Tables[index].Columns.Add("PropertyType"); Ref.PropertyInfo[] propInfoColl = wpPart.GetType().GetProperties(); foreach (Ref.PropertyInfo propInfo in propInfoColl) { Object[] attribColl = propInfo.GetCustomAttributes(true); foreach (Object obj in attribColl) { #region Add Attribute to DT if (obj is WebBrowsableAttribute) { WebBrowsableAttribute browAtt = (WebBrowsableAttribute)obj; if (browAtt.Browsable) { Object value = propInfo.GetValue(wpPart, null); dtWpData.Tables[index].Rows.Add(propInfo.Name, propInfo.PropertyType, value, propInfo.PropertyType.AssemblyQualifiedName,false,propInfo.PropertyType.ToString()); break; } } else if (obj is WebPartStorageAttribute) { WebPartStorageAttribute storAtt = obj as WebPartStorageAttribute; if (storAtt.Storage == Storage.Personal) { Object value = propInfo.GetValue(wpPart, null); dtWpData.Tables[index].Rows.Add(propInfo.Name, propInfo.PropertyType, value, propInfo.PropertyType.AssemblyQualifiedName,false,propInfo.PropertyType.ToString()); break; } } #endregion } } index++; } dtOriginal = dtWpData.Copy(); #endregion }