将自定义 Web 部件添加到页面 SharePoint 2013 c# csom
Add custom web part to page SharePoint 2013 c# csom
我正在尝试编写 C# 代码以以编程方式将自定义 Web 部件添加到 SharePoint 2013 页面。
我尝试搜索网络和 Whosebug,但找不到任何合适的文章或博客来帮助我实现这一目标。
您可以使用 Webpart XML 内容在使用 CSOM 的页面中添加 Webpart,下面是我为您提供的示例。它正在向页面添加文档库:
var wpXML = @"<?xml version='1.0' encoding='utf-8' ?>
<webParts>
<webPart xmlns='http://schemas.microsoft.com/WebPart/v3'>
<metaData>
<type name='Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name='ListUrl' type='string'>Shared%20Documents</property>
<property name='MissingAssembly' type='string'>Cannot import this Web Part.</property>
</properties>
</data>
</webPart>
</webParts>";
var page = ctx.Web.GetFileByServerRelativeUrl("/sites/test/SitePages/wiki1.aspx");
var wpm = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
ctx.Load(wpm);
ctx.ExecuteQuery();
var importedWebPart = wpm.ImportWebPart(wpXML);
var webPart = wpm.AddWebPart(importedWebPart.WebPart, "mainContent", 0);
ctx.ExecuteQuery();
我正在尝试编写 C# 代码以以编程方式将自定义 Web 部件添加到 SharePoint 2013 页面。
我尝试搜索网络和 Whosebug,但找不到任何合适的文章或博客来帮助我实现这一目标。
您可以使用 Webpart XML 内容在使用 CSOM 的页面中添加 Webpart,下面是我为您提供的示例。它正在向页面添加文档库:
var wpXML = @"<?xml version='1.0' encoding='utf-8' ?>
<webParts>
<webPart xmlns='http://schemas.microsoft.com/WebPart/v3'>
<metaData>
<type name='Microsoft.SharePoint.WebPartPages.XsltListViewWebPart, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name='ListUrl' type='string'>Shared%20Documents</property>
<property name='MissingAssembly' type='string'>Cannot import this Web Part.</property>
</properties>
</data>
</webPart>
</webParts>";
var page = ctx.Web.GetFileByServerRelativeUrl("/sites/test/SitePages/wiki1.aspx");
var wpm = page.GetLimitedWebPartManager(PersonalizationScope.Shared);
ctx.Load(wpm);
ctx.ExecuteQuery();
var importedWebPart = wpm.ImportWebPart(wpXML);
var webPart = wpm.AddWebPart(importedWebPart.WebPart, "mainContent", 0);
ctx.ExecuteQuery();