当我为ASP.NET页面提供服务时,我可以并行呈现页面上的各种控件吗?

当我为ASP.NET页面提供服务时,我可以并行呈现页面上的各种控件吗?,asp.net,multithreading,rendering,Asp.net,Multithreading,Rendering,当我为ASP.NET页面提供服务时,我可以并行呈现页面上的各种控件吗 我在页面上有一些Telerik控件(RadGrids),当我一步一步地浏览正在加载的页面时,这些控件似乎是数据绑定的,并以串行方式呈现。 也许这种行为是因为我被调试器吸引住了 是否仍然可以加载页面并在单独的线程上构建select控件?这在概念上是可能的还是必须按顺序进行?看看这篇文章,我希望它能为您提供正确的方向: 您有两个选择。您可以使用ASP.NET异步页面模型。其思想是异步加载每个控件的数据,然后在检索时将该数据绑定到每

当我为ASP.NET页面提供服务时,我可以并行呈现页面上的各种控件吗

我在页面上有一些Telerik控件(RadGrids),当我一步一步地浏览正在加载的页面时,这些控件似乎是数据绑定的,并以串行方式呈现。 也许这种行为是因为我被调试器吸引住了


是否仍然可以加载页面并在单独的线程上构建select控件?这在概念上是可能的还是必须按顺序进行?

看看这篇文章,我希望它能为您提供正确的方向:


您有两个选择。您可以使用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网格的编程客户端绑定: