John
John

Reputation: 487

how to find if the check box list is selected or not in asp.net

How to get selected index in a check box list in asp.net. Should I loop through to find whether the list box is selected or can i get to know without doing that. I want to do this

if(Checkboxlist selected) {do this} else {do this}

how to find if the check box list is selected or not in asp.net

int roleselected = ckl_EditRole.Items.SelectedIndex;

Upvotes: 5

Views: 15448

Answers (2)

clklachu
clklachu

Reputation: 971

If your intention is to get index of the selected checkbox as given by your code, you can also achieve this via Linq(without forloop) as below.

ckl_EditRoleItems.OfType<ListItem>().Where(p=>p.Selected).Select(p => ckl_EditRoleItems.Items.IndexOf(p)).ToArray<int>();

This statement will return an array of int which will contain the index of the check boxes that are selected.

Upvotes: 0

Doozer Blake
Doozer Blake

Reputation: 7797

For CheckBoxList, SelectedIndex will give you just the first selected index in the CheckBoxList. If it's not -1, then something was selected. This may be enough for what you're looking for.

if( ckl_EditRole.SelectedIndex != -1 )
{
// Do Something
}

But, since the CheckBoxList can have multiple selections, you probably want to loop through the Items and look for the selected ones.

foreach( ListItem li in ckl_EditRole.Items )
{
    if( li.Selected )
    {
        // Do Something
    }
}

Upvotes: 5

Related Questions