2012-11-23 67 views
1

大家好,從最後幾個小時我想發佈一個文檔,並在其中設置一些自定義數據類型值,因爲我正在保存序列化值:在umbraco數據類型值將在數據庫中可用和在umbraco.config文件中,只有在發佈文檔後如此在我的自定義文檔類型中我有一個按鈕稱爲添加用戶,我想將它保存在數據庫中,當此按鈕被調用時,我需要發佈我正在使用的文檔:在umbraco發佈文檔

//Get the document by it's ID 
Document d = new Document(currentDocID); 

//Mark it ready for publishing 
d.Publish(new umbraco.BusinessLogic.User(0)); 

//Tell the runtime to update the document cache 
umbraco.library.UpdateDocumentCache(d.Id); 

//call republishing from the api: 
umbraco.library.RefreshContent(); 

//Server.ScriptTimeout = 100000; 
//umbraco.cms.businesslogic.web.Document.RePublishAll(); 
//umbraco.library.RefreshContent(); 

但同時如果通過單擊一把umbraco發佈數據保存在數據庫一把umbraco以及在配置文件中做它不能夠改變Umbraco.config文件和數據庫文件。我無法弄清楚我是否錯過了一些東西..

+0

你可以編輯你的問題添加一些句號/逗號?很難理解你在問什麼。你是否試圖以編程方式設置文檔屬性?如果是這樣,你的代碼示例中就缺少了這個。 – Digbyswift

回答

1

代碼示例看起來是正確的以編程方式保存節點,所有缺少的是更新字段的行被更改,如果它被別名爲'myField '在文檔類型意味着將改爲:

var myValue = "[{ serialized value that might need escaping }]"; 

Document d = new Document(currentDocID); 
d.getProperty("myField").Value = myValue; 
d.Publish(new umbraco.BusinessLogic.User(0)); 
umbraco.library.UpdateDocumentCache(d.Id);