2012-03-07 85 views
4

我正在使用核心服務在此創建一個新項目post。但是,新創建的項目的URI是tcm:0-0-0,而不是實際的TCM URI。 Title屬性是正確的(而不是New Component),但WebDav路徑返回'New Component'。如何使用核心服務創建後創建Tridion項目ID

什麼是獲得我新創建的項目的URI的最佳方式是什麼?

client.Create(newComponent, null); 
string newItemUri = newComponent.Id; // returns tcm:0-0-0 
string webDavUrl = newComponent.LocationInfo.WebDavUrl; // returns New%20Component 
string title = newComponent.Title; // correct 

回答

4

Create方法的第二個參數是ReadOptions。它們用於指定項目將如何回讀。在你的例子中,你將它設置爲null,這意味着你不會讀回它。你應該做的是設置ReadOptions並指定項目回讀給一個變量,就像這樣:

newComponent = (ComponentData) client.Create(newComponent, new ReadOptions()); 
+0

我喜歡這個解決方案,因爲它使用的.Create方法,我也不需要創建一個額外的對象來保存我保存數據。 – robrtc 2012-03-07 12:59:12

相關問題