4

この投稿では、コア サービスを使用して新しいアイテムを作成しています。ただし、新しく作成されたアイテムの URI は、実際の TCM URI ではなく tcm:0-0-0 です。Title プロパティは正しい (そして新しいコンポーネントではない) が、WebDav パスは '新しいコンポーネント' を返します。

新しく作成したアイテムの 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

2 に答える 2

4

http://blog.building-blocks.com/uploading-images-using-the-core-service-in-sdl-tridion-2011で Ryan のコードを確認してください。彼は client.Save を使用して保存されたコンポーネントを取得し、そこから ID にアクセスできます。

于 2012-03-07T11:49:29.903 に答える
4

Create メソッドの 2 番目のパラメーターは ReadOptions です。それらは、アイテムが読み戻される方法を指定するために使用されます。あなたの例では、それをnullに設定しています。つまり、読み戻さないということです。あなたがすべきことは、次のように ReadOptions を設定し、アイテムの読み取りを変数に割り当てることです。

newComponent = (ComponentData) client.Create(newComponent, new ReadOptions());
于 2012-03-07T11:51:20.513 に答える