У вас есть несколько вариантов. Вы можете использовать модель асинхронной страницы ASP.NET. Идея заключается в том, что вы загружаете данные для каждого элемента управления асинхронно, а затем привязываете эти данные к каждому элементу управления при его получении.
Это будет выглядеть примерно так:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsAsync) {
dataSource.GetDataCompleted +=
new GetDataCompletedEventHandler(GetDataCompleted);
dataSource.GetDataAsync();
}
else {
_yourCtl.DataSource = dataSource.GetData();
_yourCtl.DataBind();
}
}
void GetDataCompleted(object sender, GetDataCompletedEventArgs e) {
_yourCtl.DataSource = e.Result;
_yourCtl.DataBind();
}
Вы сделали бы то же самое для каждого элемента управления на странице. Конечным результатом является то, что время рендеринга страницы будет равно времени рендеринга элемента управления с самой медленной визуализацией.
Альтернативным методом будет использование AJAX для загрузки элементов управления. Я не знаком с элементом управления Telerik RadGrid, но я предполагаю, что он поддерживает AJAX. Вот ссылка на демонстрационную страницу Telerik, которая показывает, как выполнить программную привязку клиентской части сетки Telerik: http://demos.telerik.com/aspnet-ajax/grid/examples/client/databinding/defaultcs.aspx.