如何使用 C# 将项目添加到 TreelistEx?
How do I add an item to a TreelistEx using C#?
我似乎找不到关于此的任何文档。我有一个项目,它有一个 TreelistEx
字段:
我想以编程方式向该字段添加一个新项目,最好使用 glass mapper,但如果需要,vanilla sitecore 也可以。
有人可以帮我吗?我该怎么做?
请原谅我没有提供详细信息,我在这里找不到任何东西可以为我指明正确的方向。
似乎 sitecore 将这些字段存储为管道分隔列表。因此,您可以将值编辑为字符串(这非常 stringly typed)。因此可以将值作为字符串进行操作(天哪,这太糟糕了)。因此,要将 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 我没有屏住呼吸)有更好的方法来实现这个...
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();
}
我似乎找不到关于此的任何文档。我有一个项目,它有一个 TreelistEx
字段:
我想以编程方式向该字段添加一个新项目,最好使用 glass mapper,但如果需要,vanilla sitecore 也可以。
有人可以帮我吗?我该怎么做?
请原谅我没有提供详细信息,我在这里找不到任何东西可以为我指明正确的方向。
似乎 sitecore 将这些字段存储为管道分隔列表。因此,您可以将值编辑为字符串(这非常 stringly typed)。因此可以将值作为字符串进行操作(天哪,这太糟糕了)。因此,要将 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 我没有屏住呼吸)有更好的方法来实现这个...
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();
}