簡體   English   中英

如何使用C#將項目添加到TreelistEx?

[英]How do I add an item to a TreelistEx using C#?

我似乎找不到任何文檔。 我有一個項目,其中有一個TreelistEx字段:

在此處輸入圖片說明

我想以編程方式向此字段添加一個新項目,最好使用玻璃制圖儀,但如果需要,可以使用香草sitecore。

有人可以幫我從這里出去嗎? 我該怎么辦?

您將不得不為缺乏細節辯解,我找不到任何東西可以在這里指出正確的方向。

TreeList和TreeListEx與多列表的工作方式相同。

using (new Sitecore.SecurityModel.SecurityDisabler())
{

    Item newItem = Sitecore.Context.Item;

    newItem.Editing.BeginEdit();

    MultilistField mlf = newItem.Fields["FieldName"];

    // adding an item
    mlf.Add(ItemToAdd.ID.ToString());

    // removing an item
    mlf.Remove(ItemToRemove.ID.ToString());

    newItem.Editing.EndEdit();
}

似乎sitecore將這些字段存儲為管道分隔列表。 因此,您可以將值編輯為字符串(這是非常字符串化的 )。 因此可以將值當作一個字符串來處理(上帝太爛了)。 因此, treelistEx一個ID為{652FD742-AAE3-468D-81BE-7EF18E06B796}的項目添加到treelistEx ,您可以:

Item item;
item.Editing.BeginEdit();
item.Fields["fieldname"].Value += "|{652FD742-AAE3-468D-81BE-7EF18E06B796}";
item.Editing.EndEdit();

將字符串拆分為數組,進行操作並將其轉換回字符串非常簡單。

TBH此代碼非常糟糕。 我想( 知道sitecore我沒有屏住呼吸 )有更好的方法來實現這一目標...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM