Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Saves changes to an existing dynamic Web Part.
Namespace: [Webpartpages Web service]
Web service reference: http://Site/_vti_bin/Webpartpages.asmx
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
pageUrl
Type: System.StringThe URL of the source page.
storageKey
Type: System.GuidA GUID that identifies the Web Part.
webPartXml
Type: System.StringA string containing the XML information on the Web Part.
storage
Type: [Webpartpages Web service].StorageA Storage value indicating how the Web Part is stored
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();
}