C# 使用web服务更新内容类型时,将删除列表列

C# 使用web服务更新内容类型时,将删除列表列,c#,web-services,sharepoint-2010,C#,Web Services,Sharepoint 2010,我收集了大量的网站,它们都使用相同内容类型的副本。我正在使用web服务并从webs.asmx或lists.asmx调用updateContentType方法。代码如下: contentProps = "<ContentType />"; newField, modField = "<Fields />"; delField = "<Fields>" + "<Method ID=\"1\">" +

我收集了大量的网站,它们都使用相同内容类型的副本。我正在使用web服务并从webs.asmx或lists.asmx调用updateContentType方法。代码如下:

contentProps = "<ContentType />";
newField, modField = "<Fields />";
delField = "<Fields>" +
             "<Method ID=\"1\">" +
               "<Field ID=\"fieldID\" />" +
             "</Method>" + 
           "</Fields>";
//...Snip XmlDocument.LoadXml() to create the proper XmlNodes
listSvc.UpdateContentType(listName,contentID,contentProps,newField,modField,delField,"true"); or
webSvc.UpdateConentType(contentID,contentProps,newField,modField,delField);
contentProps=”“;
newField,modField=“”;
delField=“”+
"" +
"" +
"" + 
"";
//…剪切XmlDocument.LoadXml()以创建正确的XmlNodes
UpdateContentType(listName、contentID、contentProps、newField、modField、delField,“true”);或
updateContentType(contentID、contentProps、newField、modField、delField);

该字段将从内容类型以及列表中的列中删除。我只想将其从内容类型中删除,但保留列表中的列。我只读的所有文档都指定该字段将从ContentType而不是列表本身中删除。

当内容类型更改时,SharePoint将使用内容类型自动更新所有列表,唯一不适用的情况是,内容类型是应用于列表的网站内容类型,并且网站内容类型是使用SharePoint功能部署的
要了解更多关于此的信息,请查看以下链接:


  • 谢谢你的链接。我想我需要手动修改每个站点。