2011-01-19 48 views
0

我正在編程上更改文檔庫中文檔的內容類型。但文檔只是添加了內容類型。無法更改文檔庫中文檔列表項的內容類型

這裏是我的編碼:

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

當我追蹤上述編碼時,我將它們分配到項目的內容類型得到改變,但之後我在上線的內容類型的更新項目該項目將被設置爲默認內容類型。

回答

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:其實是允許在庫中的內容類型缺乏的空間?

+0

只是想讓你知道這個答案解決了以編程方式更改文檔類型的問題。我沒有在該librayr中啓用內容類型 – 2011-06-02 18:20:28

0

我和這裏描述的情況相同。將文檔以自定義格式保存在文檔庫中後,ContentType保持不變。上面提供的代碼運行時沒有例外和消息,但contenttype保持不變。

問題通過恢復到默認編輯表單,使用它更改contenttype並再次在Sharepoint Designer中重新指定自定義編輯表單而解決。現在內容類型更改沒有問題。

也許它是內部bug與共享點。

相關問題