无法更改文档库中的文档列表项的内容类型

时间:2011-01-19 13:06:33

标签: list sharepoint types

我正在以编程方式更改文档库中文档的内容类型。但是文档只是添加了内容类型。

这是我的编码:

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();

当我跟踪上述编码时,当我将内容类型分配给项目时,内容类型会发生变化,但在我更新最后一行中的项目后,项目的内容类型将被设置为默认内容类型。

2 个答案:

答案 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的内部错误。