如果您在每个环境中都有一个现有页面,例如default.aspx,并想添加一个Web零件并促进每个环境,那么最佳方法是什么?

  1. 使用功能接收器创建WSP,并通过激活添加到页面
  2. 创建具有功能的WSP并与AlluserWebParts添加模块(虽然需要使用它部署ASPX页面)
  3. 手动导出和导入网络部分
  4. 使用SplimitedWebPartManager的PowerShell脚本
  5. 其他…
有帮助吗?

解决方案

您可能会在此处找到SP2010客户对象模型有用。将Web零件导出到Web部件控制说明文件(.dwp或.webpart),然后将其翻转为这样:

using (ClientContext context = new ClientContext("http://server")) {

    Web web = context.Web;
    File file = web.GetFileByServerRelativeUrl("/SitePages/Default.aspx");
    LimitedWebPartManager wpMgr = file.GetLimitedWebPartManager(
        PersonalizationScope.Shared);

    WebPartDefinition webPartDef = wpMgr.ImportWebPart(  
        System.IO.File.ReadAllText("Content_Editor.dwp"));
    wpMgr.AddWebPart(webPartDef.WebPart, "Left", 1);

    context.ExecuteQuery();
}

其他提示

在“其他”类别中,只需将代码从一个环境中的页面复制并粘贴到SharePoint Designer中的另一个环境中。这完全取决于业务需求,不是吗?

许可以下: CC-BY-SA归因
scroll top