我的页面上有以下项目列表。下面显示的所有名称都是Sitecore中的项目。
现在,我想检查用户选择了哪些项目,然后在按钮单击时获取其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);
}
答案 0 :(得分:3)
将您的代码更改为:
foreach (var foodItem in foodFldr.Children)
{
var newListItem = new ListItem(foodItem.Name, foodItem.ID.ToString());
cblFoodItems.Items.Add(newListItem);
}
它仍然会向最终用户显示您商品的Name
,但价值将为ID
而不是商品名称。