Sitecore:从 sitecore 中查找项目以获取 checkBoxList 中的选中值

Sitecore: Find Item from sitecore for the checked values in a checkBoxList

我的页面上有如下项目列表。下面显示的所有名称都是 Sitecore 中的项目。

现在我想检查用户选择了哪些项目,然后在单击按钮时获取他们的 id(sitecore 项目 ID)。使用下面提到的代码我可以获得名称但是我如何获得所选值的 Id(sitecore Item ID)?

// a temporary string to store the selected values
string values = "";

// A loop to check if each checkbox is selected then get the value
foreach (ListItem objItem in cblFoodItems.Items)
{
    if (objItem.Selected)
    {
        values += objItem.Value + ",";
    }
}

如果您想知道我如何显示 checkBoxList 中的项目,请提供更多详细信息。

<asp:CheckBoxList runat="server" ID="cblFoodItems"  RepeatColumns="4"/>

代码隐藏

Item foodFldr = Sitecore.Context.Database.GetItem("{42808F4D-5335-4BB6-911B-9B79E50CFE99}");

foreach (var foodItem in foodFldr.Children)
{
    var newListItem = new ListItem(foodItem.Name);
    cblFoodItems.Items.Add(newListItem);
} 

将您后面的代码更改为:

foreach (var foodItem in foodFldr.Children)
{
     var newListItem = new ListItem(foodItem.Name, foodItem.ID.ToString());
     cblFoodItems.Items.Add(newListItem);
}

它仍会向最终用户显示您的项目的 Name,但该值将是 ID 而不是项目名称。