如何在 Sharepoint Wiki 页面上添加 WebPart?

Posted

技术标签:

【中文标题】如何在 Sharepoint Wiki 页面上添加 WebPart?【英文标题】:How can I add WebPart on Sharepoint WikiPage? 【发布时间】:2015-12-12 22:23:36 【问题描述】:

如何在 Sharepoint WikiPage 上添加 WebPart?

例如: 如何在 Sharepoint 2013 主页 (SitePages/Home.aspx) 上添加 GettingStartedWebPart?

我为我的网站集使用了“团队网站”模板。并删除了默认值 “开始使用您的网站”Web 部件。

我正在尝试:

...
SPLimitedWebPartManager spLimitedWebPartManager = spFile.GetLimitedWebPartManager(PersonalizationScope.Shared);
var gettingStartedWebPart = new GettingStartedWebPart();
....
spLimitedWebPartManager.AddWebPart(gettingStartedWebPart, "wpz", 0);

但它不起作用。你知道怎么做吗?感谢您的时间:) 和解决方案。

编辑:

我找到了解决方案。首先,您可以对“Wiki Page”使用标准方法 WikiEditPage.InsertWebPartIntoWikiPage。但是,此方法无法正常工作...如果您阅读有关 SharePoint 2010 的这篇文章(在 SharePoint 2013 中的 WikiEditPage.InsertWebPartIntoWikiPage 的实现与在 SharePoint 2010 中的实现相同),您可以找到更多信息以及可能的修复方法之一:http://habaneroconsulting.com/insights/programmatically-change-content-on-a-wiki-page-in-sharepoint-2010#.VgAEAfmqpBd。

还有:http://maxshulga.blogspot.com/2010/06/wikieditpageinsertwebpartintowikipage.html

【问题讨论】:

【参考方案1】:

我过去做过类似的事情

private void AddWebPartToPage(SPWeb web, string filepath, string zoneidname, int zoneIndex)
    
        SPLimitedWebPartManager wpm = web.GetLimitedWebPartManager(filepath, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared);

        wpm.AddWebPart(wp, zoneidname, zoneIndex);


    

AddWebPartToPage(web, web.Url + "SitePages/Home.aspx", "CentreLeft", 0);

不过,您需要对此进行测试。

希望这会有所帮助。

干杯 真实的

【讨论】:

thx,但我已经知道这种方式并在问题描述中写了它。

以上是关于如何在 Sharepoint Wiki 页面上添加 WebPart?的主要内容,如果未能解决你的问题,请参考以下文章

从 SharePoint 2010 中的 Web 模板在 Wiki 页面上设置默认 Web 部件?

如何从 SharePoint 2010 中的页面布局创建模板

csharp 使用CSOM创建Sharepoint Wiki页面

在 Sharepoint 上打开新页面时添加弹出窗口

Sharepoint + Jquery,在该页面上添加活动类到导航

如何在 SharePoint中添加新的页面