我正在以编程方式更改文档库中文档的内容类型。但是文档只是添加了内容类型。
这是我的编码:
SPFile ofile = oweb.GetFile(oweb.Url + '/' + oDocSet.Item.Url + '/' + refName);
ofile.Item["Content Type"] = octype.Name;
ofile.Item["Content Type ID"] = octype.Id;
ofile.Item.Update();
当我跟踪上述编码时,当我将内容类型分配给项目时,内容类型会发生变化,但在我更新最后一行中的项目后,项目的内容类型将被设置为默认内容类型。
答案 0 :(得分:1)
不应该是:
SPFile ofile = oweb.GetFile(oweb.Url + '/' + oDocSet.Item.Url + '/' + refName);
ofile.Item["ContentType"] = octype.Name;
ofile.Item["ContentTypeId"] = octype.Id;
ofile.Item.Update();
请注意字段名称中缺少空格
P.S。:库中实际允许的内容类型是什么?
答案 1 :(得分:0)
我遇到了与此处描述的情况相同的情况。在自定义表单的文档库中保存文档后,ContentType保持不变。上面提供的代码没有例外和消息,但内容类型保持不变。
通过恢复默认编辑表单,更改内容类型以及再次在Sharepoint Designer中重新分配自定义编辑表单,问题得以解决。现在,contenttype更改可以正常工作。
也许是sharepoint的内部错误。