Я выполняю пакетное обновление элементов списка точек доступа, используя приведенный ниже код, и пытаюсь выяснить, могу ли я также обновить тип содержимого элемента с помощью пакетного обновления. Это для Sharepoint 2010, и я могу использовать только веб-службы. Я нигде не смог найти пример.обновить тип содержимого listitem с использованием метода веб-службы UpdateListItems
public static void UpdateListItems(string SiteURL, string ListName, int[] ItemIDs, List<string> FieldNames, List<object> Values)
{
using (ListsSoapClient ls = GetListSoapClient(SiteURL))
{
XDocument xDoc = new XDocument(new XElement("Batch"));
xDoc.Root.Add(new XAttribute("OnError", "Continue"));
xDoc.Root.Add(new XAttribute("PreCalc", "TRUE"));
int ID = 0;
for (int i = 0; i < ItemIDs.Count(); i++)
{
ID++;
XElement xMethod = new XElement("Method",
new XAttribute("ID", ID),
new XAttribute("Cmd", "Update"),
new XElement("Field",
new XAttribute("Name", "ID"),
ItemIDs[i]
)
);
for (int j = 0; j < FieldNames.Count(); j++)
{
xMethod.Add(new XElement("Field",
new XAttribute("Name", Functions.SPFieldName(FieldNames[j])),
Values[j]
)
);
}
xDoc.Root.Add(xMethod);
}
ls.UpdateListItems(ListName, xDoc.Root);
}
}
кажется, что добавление поля с именем «ContentType» и придавая ему значение имени типа контента работает. Я не знаю, поддерживается ли это или нет. –