WebPartPagesWebService.SaveWebPart method

Saves changes to an existing dynamic Web Part.

Namespace:  WebSvcwebpartpages
Assembly:  STSSOAP (in STSSOAP.dll)

Syntax

'Declaration
<SoapDocumentMethodAttribute("https://microsoft.com/sharepoint/webpartpages/SaveWebPart", RequestNamespace := "https://microsoft.com/sharepoint/webpartpages",  _
    ResponseNamespace := "https://microsoft.com/sharepoint/webpartpages",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub SaveWebPart ( _
    pageUrl As String, _
    storageKey As Guid, _
    webPartXml As String, _
    storage As Storage _
)
'Usage
Dim instance As WebPartPagesWebService
Dim pageUrl As String
Dim storageKey As Guid
Dim webPartXml As String
Dim storage As Storage

instance.SaveWebPart(pageUrl, storageKey, _
    webPartXml, storage)
[SoapDocumentMethodAttribute("https://microsoft.com/sharepoint/webpartpages/SaveWebPart", RequestNamespace = "https://microsoft.com/sharepoint/webpartpages", 
    ResponseNamespace = "https://microsoft.com/sharepoint/webpartpages", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void SaveWebPart(
    string pageUrl,
    Guid storageKey,
    string webPartXml,
    Storage storage
)

Parameters

  • storageKey
    Type: System.Guid

    A GUID that identifies the Web Part.

  • webPartXml
    Type: System.String

    A string containing the XML information on the Web Part.

Remarks

To access the WebPartPagesWebService service and its methods, set a Web reference to http://Virtual_Server_Name:Port_Number/_vti_adm/WebPartPages.asmx.

Examples

The following code example shows a locally defined AddWebPart method that adds a Web Part and then modifies it by calling the AddWebPart and SaveWebPart methods of the Web Part Pages service through a proxy. This code example and the proxy are part of a larger example provided for the Web Part Pages service.

Private Sub AddWebPart()
         ' NOTE: The Web Service we are using is defined on MyServer/_vti_bin
         ' Declare and initialize a variable for the WebPartPages Web Service.
         Dim svc = New Microsoft.Samples.WebPartPagesSvcClient.WebpartpagesSvc.WebPartPagesWebService()
         
         ' Authenticate the current user by passing their default
         ' credentials to the Web Service from the system credential cache.
         svc.Credentials = System.Net.CredentialCache.DefaultCredentials
         
         Dim pageUrl As String = "http://MyServer/Shared%20Documents/SampleStart.aspx"
         
         ' Create Web Part XML inline. 
         Dim webPartXml As String = "<?xml version=""1.0"" encoding=""utf-16""?>" + ControlChars.Lf + " " +  _
         "<WebPart xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" https://schemas.microsoft.com/WebPart/v2"">" + ControlChars.Lf + " " +  _
         "<Title>Content Editor Web Part</Title>" + ControlChars.Lf + "  " + _
         "<FrameType>Default</FrameType>" + ControlChars.Lf + "  " +  _
         "<Description>Use for formatted text, tables, and images.</Description>" + ControlChars.Lf + "  " +  _
         "<IsIncluded>true</IsIncluded>" + ControlChars.Lf + "  " +  _
         "<ZoneID>Header</ZoneID>" + ControlChars.Lf + "  " +  _
         "<PartOrder>1</PartOrder>" + ControlChars.Lf + "  " +  _
         "<FrameState>Normal</FrameState>" + ControlChars.Lf + "  " +  _
         "<Height />" + ControlChars.Lf + "  " +  _
         "<Width />" + ControlChars.Lf + "  " +  _
         "<AllowRemove>true</AllowRemove>" + ControlChars.Lf + "  " +  _
         "<AllowZoneChange>true</AllowZoneChange>" + ControlChars.Lf + "  " +  _
         "<AllowMinimize>true</AllowMinimize>" + ControlChars.Lf + "  " +  _
         "<IsVisible>true</IsVisible>" + ControlChars.Lf + "  " +  _
         "<DetailLink />" + ControlChars.Lf + "  " +  _
         "<HelpLink />" + ControlChars.Lf + "  " +  _
         "<Dir>Default</Dir>" + ControlChars.Lf + "  " +  _
         "<PartImageSmall />" + ControlChars.Lf + "  " +  _
         "<MissingAssembly />" + ControlChars.Lf + "  " +  _
         "<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>" + ControlChars.Lf + "  " +  _
         "<IsIncludedFilter />" + ControlChars.Lf + "  " +  _
         "<Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>" + ControlChars.Lf + "  " +  _
         "<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>" + ControlChars.Lf + "  " +  _
         "<ContentLink https://schemas.microsoft.com/WebPart/v2/ContentEditor"" />" + ControlChars.Lf + "  " +  _
         "<Content https://schemas.microsoft.com/WebPart/v2/ContentEditor""><![CDATA[<P>Hello</P>]]></Content>" + ControlChars.Lf + "  " +  _
         "<PartStorage https://schemas.microsoft.com/WebPart/v2/ContentEditor"" />" + ControlChars.Lf + _
         "</WebPart>"
         ' Add Web Part, store the new WebPart GUID into a variable.
         Dim newPartId As Guid = svc.AddWebPart(pageUrl, webPartXml, WebpartpagesSvc.Storage.Shared)
         ' Edit the Web Part XML just a bit.
         Dim sb As New System.Text.StringBuilder(webPartXml)
         sb.Replace("Hello", "Hello world!!")
         sb.Replace("<Title>Content Editor Web Part</Title>", "<Title>Autogenerated Web Part!</Title>")
         ' Call SaveWebPart to update the contents of the Web Part XML.
         svc.SaveWebPart(pageUrl, newPartId, sb.ToString(), WebpartpagesSvc.Storage.Shared)
         Console.WriteLine("A new Web Part with ID [{0}] was added to the page [{1}]", newPartId.ToString(), pageUrl)
         Console.WriteLine("-----Hit enter-----")
         Console.ReadLine()
      End Sub 'AddWebPart
private void AddWebPart()
{
     // NOTE: The Web Service we are using is defined on MyServer/_vti_bin
     // Declare and initialize a variable for the WebPartPages Web Service.
     WebpartpagesSvc.WebPartPagesWebService svc = new Microsoft.Samples.WebPartPagesSvcClient.WebpartpagesSvc.WebPartPagesWebService();
     // Authenticate the current user by passing their default
     // credentials to the Web Service from the system credential cache.
     svc.Credentials = System.Net.CredentialCache.DefaultCredentials;
     string pageUrl = "http://MyServer/Shared%20Documents/SampleStart.aspx";
     // Create Web Part XML inline. 
     string webPartXml = "<?xml version=\"1.0\" encoding=\"utf-16\"?>\n" +
     "<WebPart xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"https://schemas.microsoft.com/WebPart/v2\">\n" +
     "<Title>Content Editor Web Part</Title>\n  " +
     "<FrameType>Default</FrameType>\n  " +
     "<Description>Use for formatted text, tables, and images.</Description>\n  " +
     "<IsIncluded>true</IsIncluded>\n  " +
     "<ZoneID>Header</ZoneID>\n  " +
     "<PartOrder>1</PartOrder>\n  " +
     "<FrameState>Normal</FrameState>\n  " +
     "<Height />\n  " +
     "<Width />\n  " +
     "<AllowRemove>true</AllowRemove>\n  " +
     "<AllowZoneChange>true</AllowZoneChange>\n  " +
     "<AllowMinimize>true</AllowMinimize>\n  " +
     "<IsVisible>true</IsVisible>\n  " +
     "<DetailLink />\n  " +
     "<HelpLink />\n  " +
     "<Dir>Default</Dir>\n  " +
     "<PartImageSmall />\n  " +
     "<MissingAssembly />\n  " +
     "<PartImageLarge>/_layouts/images/mscontl.gif</PartImageLarge>\n  " +
     "<IsIncludedFilter />\n  " +
     "<Assembly>Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>\n  " +
     "<TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>\n  " +
     "<ContentLink xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\" />\n  " +
     "<Content xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\"><![CDATA[<P>Hello</P>]]></Content>\n  " +
     "<PartStorage xmlns=\"https://schemas.microsoft.com/WebPart/v2/ContentEditor\" />\n</WebPart>";

     // Add Web Part, store the new Web Part GUID into a variable.
     Guid newPartId = svc.AddWebPart(pageUrl, webPartXml,
         WebpartpagesSvc.Storage.Shared);
     // Edit the Web Part XML.
     System.Text.StringBuilder sb = new System.Text.StringBuilder(webPartXml);
     sb.Replace("Hello", "Hello world!!");
     sb.Replace("<Title>Content Editor Web Part</Title>", "<Title>Autogenerated Web Part!</Title>");

     // Call SaveWebPart to update the contents of the Web Part XML.
     svc.SaveWebPart(pageUrl, newPartId, sb.ToString(),
        WebpartpagesSvc.Storage.Shared);
     Console.WriteLine("A new Web Part with ID [{0}] was added to the page [{1}]",
        newPartId.ToString(), pageUrl);
     Console.WriteLine("-----Hit enter-----");
     Console.ReadLine();
}

See also

Reference

WebPartPagesWebService class

WebPartPagesWebService members

WebSvcwebpartpages namespace