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

时间:2013-04-18 15:30:40

标签: c# web-services sharepoint-2010

我有大量网站都使用相同内容类型的副本。我正在使用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);

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

1 个答案:

答案 0 :(得分:0)

当内容类型发生更改时,SharePoint会自动使用内容类型更新所有列表,唯一不适用的情况是内容类型是应用于列表的网站内容类型,并且使用内容类型部署网站内容类型SharePoint功能。
要阅读更多内容,请查看以下链接:

  1. MSDN
  2. SO