I wrote some pretty cool code the other day using recursion (more on that later maybe). The page had a GridView and  SQLDataSource on it. When the page loaded initially, because no processing had as of yet been done, the SQLDataSource returned zero records. However, once the recursive code had completed, there was now some data for it to grab. I set the GridView visibility property to false, but I needed a way to say "Now that the processing on the page is complete, do something else." Enter the Page_LoadComplete event. I placed it into the code behind and set the GridView visibilty to true. It worked exactly as intended:

protected void Page_LoadComplete(object sender, EventArgs e)
{
    gridView.visibility = true;
}

Check it out for yourself: http://msdn.microsoft.com/en-us/library/system.web.ui.page.loadcomplete.aspx