Sharepoint 使用pnp以编程方式创建旋转木马Web部件
我正在尝试以编程方式在现代SharePoint页面中创建旋转木马Web部件。 我没有找到此Web部件的任何文档或示例。 我的主要问题是,我没有找到如何设置图像的URL。 我尝试手动添加旋转木马并以编程方式设置所有相同的属性,但不起作用, 主要是因为属性存储在没有setter的ServerProcessedContent中。 此页面建议设置webPartData,但没有成功: 你能发布一个样本来实现这一点吗Sharepoint 使用pnp以编程方式创建旋转木马Web部件,sharepoint,web-parts,csom,p-np,Sharepoint,Web Parts,Csom,P Np,我正在尝试以编程方式在现代SharePoint页面中创建旋转木马Web部件。 我没有找到此Web部件的任何文档或示例。 我的主要问题是,我没有找到如何设置图像的URL。 我尝试手动添加旋转木马并以编程方式设置所有相同的属性,但不起作用, 主要是因为属性存储在没有setter的ServerProcessedContent中。 此页面建议设置webPartData,但没有成功: 你能发布一个样本来实现这一点吗 OfficeDevPnP.Core.Pages.ClientSidePage cl
OfficeDevPnP.Core.Pages.ClientSidePage clientSidePage = GetClientSidePage("testheader");
ClearSections(clientSidePage);
AddSection(clientSidePage, 2);
AddCarouselWebPart(clientSidePage, 0, 1);
SaveClientSidePage(clientSidePage);
Function AddCarouselWebPart:
CanvasSection section = page.Sections[sectionId];
ClientSideWebPart webPart = page.InstantiateDefaultWebPart(DefaultClientSideWebParts.ImageGallery);
webPart.Properties["layout"] = 1;
dynamic carouselSettings = new JObject();
carouselSettings.autoplay = true;
carouselSettings.autoplaySpeed = 5;
carouselSettings.dots = true;
carouselSettings.lazyLoad = true;
carouselSettings.metadata = true;
carouselSettings.swipe = true;
webPart.Properties["carouselSettings"] = carouselSettings;
dynamic gridSettings = new JObject();
gridSettings.imageSize = 2;
gridSettings.imageCropping = 1;
gridSettings.imageAspectRatio = 1;
gridSettings.lightbox = false;
webPart.Properties["gridSettings"] = gridSettings;
webPart.Properties["imageSourceType"] = 1;
webPart.Properties["isRecursive"] = false;
webPart.Properties["isCdnEnabledForList"] = false;
webPart.Properties["hasDynamicModeEnabled"] = false;
webPart.Properties["maxImagesCount"] = 10;
JObject imageSources = new JObject
{
{ "images[0].url", "/sites/Test/images/1.jpg" },
{ "images[1].url", "/sites/Test/images/2.jpg" },
{ "images[2].url", "/sites/Test/images/3.jpg" }
};
dynamic serverProcessedContent = new JObject();
serverProcessedContent.htmlStrings = new JObject();
serverProcessedContent.searchablePlainTexts = new JObject();
serverProcessedContent.imagesources = imageSources;
serverProcessedContent.links = new JObject();
JObject customMetadata = new JObject
{
{ "images[0].url", new JObject() },
{ "images[1].url", new JObject()},
{ "images[2].url", new JObject() }
};
serverProcessedContent.customMetadata = customMetadata;
JObject componentDependencies = new JObject();
componentDependencies["layoutComponentId"] = "8ac0c53c-e8d0-4e3e-87d0-7449eb0d4027";
serverProcessedContent.componentDependencies = componentDependencies;
JObject final = new JObject
{
{ "serverProcessedContent", serverProcessedContent}
};
webPart.Properties["webPartData"] = final;
//webPart.ServerProcessedContent = serverProcessedContent;
page.AddControl(webPart, section.Columns[columnId], 1);