自己发现了如何去做。 :-)
WebPartPagesweb 服务的AddWebPart 方法是唯一可用于添加Web 部件并将其添加到页面的方法。
您只需要正确准备需要作为参数传递给methosd的Xml。此 XML 确定 WebPart 的类型及其属性。
对于 Xml WebPArt,我使用了以下 Xml:
<WebPart xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/WebPart/v2">
<Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
<TypeName>Microsoft.SharePoint.WebPartPages.XmlWebPart</TypeName>
<FrameType>None</FrameType>
<Title>XML Web Part</Title>
<XMLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xml</XMLLink>
<XML xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
<XSLLink xmlns="http://schemas.microsoft.com/WebPart/v2/Xml">http://RootSite/sites/XYZ/Documents/ABC.xsl</XSLLink>
<XSL xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
<PartStorage xmlns="http://schemas.microsoft.com/WebPart/v2/Xml" />
</WebPart>
并将这个 Xml 字符串传递给AddWebPart 方法:
public static Guid WebPartPagesAddWebPart(string PageUrl, string WebPartXml, uint Storage)
{
// proxy object to call the Versions web service
WebPartPages.WebPartPagesWebService WebPartPagesWebService = new WebPartPages.WebPartPagesWebService();
// the user credentials to use
WebPartPagesWebService.Credentials = new NetworkCredential(UserName, Password, Domain);
WebPartPagesWebService.Url = sharePointHost + WebPartPagesServiceName;
// add the new web part to the page
Guid Result = WebPartPagesWebService.AddWebPart(PageUrl, WebPartXml, (WebPartPages.Storage)Storage);
// dispose the web service object
WebPartPagesWebService.Dispose();
return Result;
}
MSDN 帮助仅提供了 ContentEditor Web 部件的示例。我搜索了一下并将其修改为 Xml Web 部件。 :)