Sitecore:从sitecore中查找checkBoxList中已检查值的项目

时间:2015-09-23 06:50:05

标签: c# asp.net sitecore sitecore7.2

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

enter image description here

现在,我想检查用户选择了哪些项目,然后在按钮单击时获取其ID(sitecore项目ID)。使用下面提到的代码,我可以得到名称,但我如何获得所选值的Id(sitecore项目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);
} 

1 个答案:

答案 0 :(得分:3)

将您的代码更改为:

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

它仍然会向最终用户显示您商品的Name,但价值将为ID而不是商品名称。