I have a method that assigns the text of button that resides inside of an item template in a gridview. The method fires fine in Page\_PreRender or Page\_Load but as soon as someone changes the page via the built in paging links the resulting page does not assign the text to the button. I called the method in both the PageIndexChanged and PageIndexChanging events and still I get blank buttons. Is there an event I can put this in that will cause it to run when the gridview pageindex is changed?

```cs
    protected void populateActivationText()
    {
        foreach (GridViewRow row in allItemGrid.Rows)
        {
            System.Web.UI.WebControls.Button activationButtonAll = row.FindControl("activationButtonAll") as System.Web.UI.WebControls.Button;
            System.Web.UI.WebControls.CheckBox activeCheckAll = row.Cells[7].Controls[0] as System.Web.UI.WebControls.CheckBox;
            if (activeCheckAll.Checked)
            {
                activationButtonAll.Text = "Deactivate";
            }
            else
            {
                activationButtonAll.Text = "Activate";
            }
        }
        foreach (GridViewRow row in searchGrid.Rows)
        {
            System.Web.UI.WebControls.Button activationButtonSearch = row.FindControl("activationButtonSearch") as System.Web.UI.WebControls.Button;
            System.Web.UI.WebControls.CheckBox activeCheckSearch = row.Cells[7].Controls[0] as System.Web.UI.WebControls.CheckBox;
            if (activeCheckSearch.Checked)
            {
                activationButtonSearch.Text = "Deactivate";
            }
            else
            {
                activationButtonSearch.Text = "Activate";
            }
        }
    }

```