C # CheckBox Список выбранных элементов. Текст в Labels.Text - PullRequest
2 голосов
/ 19 мая 2011

У меня есть CheckBoxList и 5 ярлыков.

Мне бы хотелось, чтобы текстовое значение этих ярлыков было установлено на 5 выделений из CheckBoxList после того, как пользователь нажимает кнопку. Как бы мне этого добиться?

Заранее спасибо.

Ответы [ 4 ]

3 голосов
/ 19 мая 2011
  • привязать событие к кнопке,
  • выполнить итерацию через свойство Items CheckBoxList
  • установить текстовое значение в соответствии со свойством selectedlistitem

например:

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;
1 голос
/ 14 ноября 2012

найти выбранные товары из 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 ...
    }
0 голосов
/ 22 мая 2013

Используйте это в LINQ:

foreach (var cbx3 in CheckBoxList2.Controls.OfType<CheckBox>().Where(cbx3 => cbx3.ID == s))
{
    cbx3.Checked = true;
}
0 голосов
/ 19 мая 2011

Почему у вас нет одной метки, и при нажатии кнопки сделайте что-то вроде:

foreach (var li in CheckList1.Items)
{
   if(li.Checked)
      Label1.Text = li.Value + "<br />";
}

Это может быть не точный синтаксис, а что-то похожее на эти строки.

...