如何在使用Core Service创建后获取Tridion项目ID

时间:2012-03-07 11:24:41

标签: tridion

我正在使用此post中的核心服务创建新项目。但是,新创建的项的URI是tcm:0-0-0而不是实际的TCM URI。 Title属性是正确的(而不是New Component),但WebDav路径返回'New Component'。

获取新创建项目的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

2 个答案:

答案 0 :(得分:4)

http://blog.building-blocks.com/uploading-images-using-the-core-service-in-sdl-tridion-2011查看Ryan的代码。他使用client.Save获取保存的Component,从中他可以访问ID。

答案 1 :(得分:4)

Create方法的第二个参数是ReadOptions。它们用于指定如何回读项目。在您的示例中,您将其设置为null,这意味着您不会将其读回。您应该做的是设置ReadOptions并将项目读回分配给变量,如下所示:

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