【问题标题】:Add custom web part to page SharePoint 2013 c# csom将自定义 Web 部件添加到页面 SharePoint 2013 c# csom
【发布时间】:2021-10-08 20:47:47
【问题描述】:

我正在尝试编写 C# 代码以以编程方式添加自定义 Web 部件到 SharePoint 2013 页面。

我尝试搜索 net 和 stackoverflow,但找不到任何合适的文章或博客可以帮助我实现这一目标。

【问题讨论】:

    标签: sharepoint-2013 web-parts csom


    【解决方案1】:

    您可以使用 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();
    

    【讨论】:

    • 您好@michael-han-msft,感谢您的回复。上面的代码将现有的文档库添加到页面。我正在寻找可以通过 csom 将现有自定义 Web 部件添加到页面的代码。
    • 那么你需要获取自定义的Web部件Xml并在你的代码中使用它
    猜你喜欢
    • 2011-06-13
    • 2015-08-02
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 2011-07-21
    • 2012-04-14
    相关资源
    最近更新 更多