protected void ProcessTrackingNumbersButton_Click(object sender, EventArgs e) { try { RegisterAsyncTask(new PageAsyncTask(async() => { var trackingNumbers = (List <string>)Session["TrackingNumbersDataSource"]; var trackingPackages = await TrackingManager.GetTrackingInfo(trackingNumbers); TrackingInfoGrid.DataSource = Session["TrackingInfoDataSource"] = trackingPackages; TrackingInfoGrid.DataBind(); MainPanel.Visible = false; TrackingInfoPanel.Visible = true; })); } catch (Exception ex) { ErrorLbl.Text = ex.Message; } }