Hai un paio di opzioni. È possibile utilizzare il modello di pagina asincrono ASP.NET. L'idea sarebbe che carichi i dati per ciascun controllo in modo asincrono e quindi li colleghi a ciascun controllo mentre viene recuperato.
Sarebbe simile a questa:
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();
}
Si potrebbe fare lo stesso per ogni controllo sulla pagina. Il risultato finale è che il tempo per il rendering della pagina sarà uguale al tempo per il rendering del controllo di rendering più lento.
Un metodo alternativo sarebbe utilizzare AJAX per caricare i controlli. Non ho familiarità con il controllo RadGrid di Telerik, ma suppongo che supporti AJAX. Ecco un collegamento a una pagina demo di Telerik che mostra come eseguire l'associazione programmatica lato client di una griglia Telerik: http://demos.telerik.com/aspnet-ajax/grid/examples/client/databinding/defaultcs.aspx.
fonte
2010-08-10 20:19:40
Ottima domanda! – womp