C # ASPX CheckListbox где находятся значения - PullRequest
0 голосов
/ 31 октября 2011

У меня есть страница ASPX C # с CheckListBox.Используя следующий код, чтобы определить, проверен ли элемент и всегда ли он ложен.

if (lstFiles.Items[i].Selected)

Я пробовал lstFiles.Items[i].CheckedItems, но это недопустимый атрибут.Я также пытался, я пытался lstFiles.Items[i].SelectedItems, но это также недопустимый атрибут.

Я думаю, что VS2010 сбит с толку, но я не знаю, где.

---- Хорошо, они нажимают на поле в моем элементе управления CheckBoxList, и все, что должно произойти, это полепроверил, жду ли они выбора другого элемента.Затем пользователь нажимает кнопку «Удалить», и этот код выполняется.

`protected void btnDelete_Click(object sender, EventArgs e)
     {
         foreach (ListItem i in lstFiles.Items)
         {
             if (i.Selected)
             {
                 string filename = i.Value.ToString();
                 DeleteFTP(filename);
             }
         }

        string[] filenames = GetFileList();
        lstFiles.Items.Clear();


        foreach (string filenamel in filenames)
        {
            lstFiles.Items.Add(filenamel);
        }
     }`    

--- во всех случаях i.Selected = False, у меня 2 элемента, один из которых отмечен.

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Как сказал glosrob, простой способ проверить все привязки CheckBoxList заключается в следующем:

foreach (ListItem i in CheckBoxList1.Items)
{
    if (i.Selected)
    { 
        //do stuff
    }
}

Похоже на то, что вы работаете не с самим этим элементом управления, а с его элементами, которые смущают вас. Таким образом, вы не можете посмотреть, если CheckBoxList отмечен или выбран:

<asp:CheckBoxList ID="CheckBoxList1" runat="server">
    <asp:ListItem Selected="True" Value="1">a</asp:ListItem>
    <asp:ListItem Value="2">b</asp:ListItem>
    <asp:ListItem Value="3">c</asp:ListItem>
</asp:CheckBoxList>
0 голосов
/ 31 октября 2011

Моя ошибка - я вижу, вы используете веб-элемент управления.

У меня работает следующее: Разметка

<asp:CheckBoxList ID="checkBoxList1" runat="server" AutoPostBack="true">
    <asp:ListItem Text="Test 1" Value="1" />
    <asp:ListItem Text="Test 2" Value="2" />
    <asp:ListItem Text="Test 3" Value="3" />
</asp:CheckBoxList>

<asp:Button ID="btnTest" runat="server" Text="Go!" OnClick="btnTest_click" />

Код позади

protected void btnTest_click(object sender, EventArgs e)
{
   foreach (ListItem li in checkBoxList1.Items)
   {
       if (li.Selected)
       {
           //item is selected
       }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...