在 sharepoint 中尝试更新列表时出现错误:
0x81020014One or more field types are not installed properly. Go to the list settings page to delete these fields.
正在创建的 Caml 是:
<Batch PreCalc='TRUE' OnError='Continue'>
<Method ID='1' Cmd='Update'>
<Field Name='ID'>4</Field>
<Field Name='Flagged'>False</Field>
</Method>
</Batch>
当我从 U2U 运行 Caml 时,它工作正常并且字段更新。当我在 VS 中调试代码时,出现上述错误。
创建和调用批处理的代码如下:
var ws = new com.freud.intranet.lists.Lists {
Url = WebServiceHelper.wsContactsList,
Credentials = WebServiceHelper.AdminCredentials
};
var batch = "<Batch PreCalc='TRUE' OnError='Continue'><Method ID='1' cmd='Update'><Field Name='ID'>" + contactID
+ "</Field><Field Name='Flagged'>" + flag + "</Field></Method></Batch>";
var document = new XmlDocument();
var stringReader = new StringReader(batch);
var xmlReader = XmlReader.Create(stringReader);
var node = document.ReadNode(xmlReader);
ws.UpdateListItems("Master Contact Joining Table", node);
为什么caml可以在U2U而不是VS中工作?
从谷歌搜索问题可能是因为我没有使用内部名称,但它确实在 U2U 中运行,这就是我感到困惑的原因。