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
而不是项目名称。
我的页面上有如下项目列表。下面显示的所有名称都是 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
而不是项目名称。