You have several options. You can use the asynchronous page of an ASP.NET page. The idea would be that you load data for each control asynchronously, and then bind this data to each control as it is received.
It will look something like this:
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(); }
You would do the same for each control on the page. The end result is that the page display time will be equal to the time to render the slowest render.
An alternative method would be to use AJAX to load controls. I am not familiar with the Telerik RadGrid controller, but I would assume that it supports AJAX. Here is a link to the Telerik demo page, which shows how to perform software binding on the client side of the Telerik grid: http://demos.telerik.com/aspnet-ajax/grid/examples/client/databinding/defaultcs.aspx .
Andy wilson
source share