タイトルは、私はフォルダ内のアイテムを注文する必要があると私はしてきたサイトコア6.6で、私の質問サイトコアC# - 同じフォルダにアップ/ダウンアイテムを移動
についてのすべてをして数日のためにそれをグーグル言います失敗。
誰でも手伝いできますか?私は__Sortorderフィールドを設定しようとしましたが、プロパティが読み取り専用であるというエラーが表示されます。
タイトルは、私はフォルダ内のアイテムを注文する必要があると私はしてきたサイトコア6.6で、私の質問サイトコアC# - 同じフォルダにアップ/ダウンアイテムを移動
についてのすべてをして数日のためにそれをグーグル言います失敗。
誰でも手伝いできますか?私は__Sortorderフィールドを設定しようとしましたが、プロパティが読み取り専用であるというエラーが表示されます。
(Ctrlキー+ + Altキー+ダウンシフト) "が、私はプロパティが読み取り専用であるというエラーを取得します" )、Sort Order
フィールド値を変更する前にアイテムの編集を開始していません。
最も簡単なコードは次のとおりです。
item.Editing.BeginEdit();
item[Sitecore.FieldIDs.Sortorder] = "25"; // or any other new value
item.Editing.EndEdit();
Editing.BeginEdit()
とEditing.EndEdit()
は、すべての項目の変更操作の前と後に必要とされます。
旧式のSitecoreバージョンでは、代わりにusing (new Sitecore.Data.Items.EditContext(item))
を使用していましたが、もう覚えていないことをもう覚えていません。ここで
は、サイトコアアイテムの編集についてのサンプルの記事です:How to edit an Item in Code Behind
__Sortorderテンプレートフィールドには、フィールドの書き込みを許可するために使用できる「読み取り専用」チェックボックスがあります。
あなたはホームメニューでソートボタンを使用することができますに移動する/ソート
またはキーボードショートカット:
私はC#でコードによってこれをやりたいです。このチェックボックスをどこで見つけることができますか?たぶん私はその価値を変更すれば、それは動作します.. –
申し訳ありませんが、質問はあなたがプログラムでこれをやりたかったことを示していません。基本テンプレートテンプレートiircにあります。 __Sortorder項目を検索すると、それを見つけることができます。編集コンテキストがあれば更新する必要があります。 –
プロパティまたはインデクサ 'Sitecore.Collections.FieldCollection.this [Sitecore.Data.ID]'を割り当てることはできません - 読み取り専用です –
私の間違いです。コードが修正されました。これはitem.Fields [Sitecore.FieldIDs.Sortorder] = "25"; ' –
の代わりに 'item [Sitecore.FieldIDs.Sortorder] =" 25 ";'あなたの答えを更新する必要があります。これはありがとうございます:-)問題は、この構文 "item [Sitecore.FieldIDs.Sortorder]"でしたが、これも最初から使用されていました。 –