У меня есть CheckBoxList и 5 ярлыков.
Я хотел бы, чтобы текстовое значение этих меток было установлено на 5 вариантов выбора, сделанных из CheckBoxList после того, как пользователь нажмет кнопку. Как бы мне добиться этого?
Заранее спасибо.
У меня есть CheckBoxList и 5 ярлыков.
Я хотел бы, чтобы текстовое значение этих меток было установлено на 5 вариантов выбора, сделанных из CheckBoxList после того, как пользователь нажмет кнопку. Как бы мне добиться этого?
Заранее спасибо.
Items
CheckBoxList
selected
элемента listitem
нравится:
protected void button_Click(object sender, EventArgs e)
{
foreach (ListItem item in theCheckBoxList.Items)
{
item.Text = item.Selected ? "Checked" : "UnChecked";
}
}
чтобы добавить значение, которое вы могли бы сделать:
foreach (ListItem item in theCheckBoxList.Items)
{
item.Text = item.Selected ? item.Value : "";
}
или отобразить все значения в мини-отчете:
string test = "you've selected :";
foreach (ListItem item in theCheckBoxList.Items)
{
test += item.Selected ? item.Value + ", " : "";
}
labelResult.Text = test;
найти выбранные элементы из CheckboxList с помощью Lambda Linq:
var x = chkList.Items.Cast<ListItem>().Where(i => i.Selected);
if (x!=null && x.Count()>0)
{
List<ListItem> lstSelectedItems = x.ToList();
//... Other ...
}
Почему у вас нет одного ярлыка, и при нажатии кнопки сделайте что-то вроде:
foreach (var li in CheckList1.Items)
{
if(li.Checked)
Label1.Text = li.Value + "<br />";
}
Это может быть не точный синтаксис, но что-то в этом роде.
Используйте это в LINQ:
foreach (var cbx3 in CheckBoxList2.Controls.OfType<CheckBox>().Where(cbx3 => cbx3.ID == s))
{
cbx3.Checked = true;
}