是否可以使用csom操作共享点2013中的母版页内容(以编程方式删除某些代码)

时间:2018-02-05 11:32:33

标签: sharepoint sharepoint-2013

我正在尝试从很多站点中删除sharepoint母版页中的一段代码,因此可以使用csom来操作母版页内容。

2 个答案:

答案 0 :(得分:0)

要解决此问题,请使用CSOM从母版页库中获取母版页,修改文件并替换文件中的某些内容,然后使用以下内容设置母版页:

web.CustomMasterUrl = masterUrl;

文章:

Set Custom Master Page through CSOM SharePoint

C# Search/Replace in Files

答案 1 :(得分:0)

            var rootWeb = clientContext.Site.RootWeb;
            clientContext.Load(rootWeb);
            clientContext.ExecuteQuery();

            string CustomMasterPage = rootWeb.CustomMasterUrl;

            var masterPagefile = rootWeb.GetFileByServerRelativeUrl(CustomMasterPage);

            var stream = masterPagefile.OpenBinaryStream();
            clientContext.Load(masterPagefile);
            clientContext.ExecuteQuery();
            if (masterPagefile.CheckOutType == CheckOutType.None)
            {

                using (var reader = new StreamReader(stream.Value, Encoding.UTF8))
                {
                    masterPageContent = reader.ReadToEnd();
                }

                masterPagefile.CheckOut();
                clientContext.ExecuteQuery();

                var catalog = clientContext.Site.GetCatalog((int)ListTemplateType.MasterPageCatalog);
                var files = catalog.RootFolder.Files;
                clientContext.ExecuteQuery();

                var fileCreationInformation = new FileCreationInformation();
                fileCreationInformation.Content = Encoding.UTF8.GetBytes(masterPageContent);
                fileCreationInformation.Overwrite = true;
                fileCreationInformation.Url = rootWeb.CustomMasterUrl;

                files.Add(fileCreationInformation);
                clientContext.ExecuteQuery();
                masterPagefile.CheckIn(" Test", CheckinType.MinorCheckIn);
                clientContext.ExecuteQuery();
            }