Question

I am trying to get all repeater's selected checkboxes of repeater's item just before page movement (pagination), and store them in some place.

 foreach (RepeaterItem ri in rpt.Items)
  {        
      CheckBox box = (CheckBox)ri.FindControl("chkBox");
       if (box.Checked)
       {
          ...
       }
  }

The problem is where do i call this function from? I've tried to call it from ObjectDataSource1_Selected (I use objectdatasource to populate repeater) and ObjectDataSource1_Selecting but rpt.Items.Count is also 0.

rpt_PreRender() event, returns the right number of items but it happens before the selection of checkboxes and not after.

What can i do?

Was it helpful?

Solution

the way you are looking is not possible...plz try using this code...

if (Repeater1.Items.Count > 0)
    {
        for (int count = 0; count < Repeater1.Items.Count; count++)
        {
            CheckBox chk = (CheckBox)Repeater1.Items[count].FindControl("CheckBox1");
            if (chk.Checked)
            {

            }
        }
    }

OTHER TIPS

The Repeater does not have built-in Pagination (like the GridView or other complex controls) so it does not offer events such as the PageIndexChanging. I assume therefore, that you have your own Page navigation implementation. You should therefore call the function you have presented within that implemented function.

If the question was unrelated to Paging, I'd have simply suggested the ItemDataBound/ItemCreated events.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top