2010-08-10 23 views
7

Khi tôi phục vụ trang ASP.NET, tôi có thể hiển thị các điều khiển khác nhau trên trang song song không?Khi tôi phục vụ một trang ASP.NET, tôi có thể hiển thị các điều khiển khác nhau trên trang song song không?

Tôi có một vài điều khiển Telerik (RadGrids) trên trang và khi tôi duyệt qua trang đang được tải, có vẻ như các điều khiển là dữ liệu được tính toán và hiển thị serially. Có thể hành vi này là do tôi bị mắc kẹt với trình gỡ lỗi.

Có cách nào để tải trang và có các điều khiển được chọn xây dựng trên các chuỗi riêng biệt không? Điều đó thậm chí có thể là khái niệm hoặc có thể được thực hiện tuần tự?

+0

Câu hỏi hay! – womp

Trả lời

3

Bạn có một vài lựa chọn. Bạn có thể sử dụng mô hình trang không đồng bộ ASP.NET. Ý tưởng sẽ là bạn tải dữ liệu cho mỗi điều khiển một cách không đồng bộ và sau đó liên kết dữ liệu đó với mỗi điều khiển khi nó được truy lục.

Nó sẽ giống như thế này:

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(); 
} 

Bạn sẽ làm điều tương tự cho mỗi điều khiển trên trang. Kết quả cuối cùng là thời gian hiển thị trang sẽ bằng thời gian để hiển thị điều khiển hiển thị chậm nhất.

Phương pháp thay thế sẽ là sử dụng AJAX để tải các điều khiển. Tôi không quen thuộc với điều khiển Telerik RadGrid, nhưng tôi cho rằng nó hỗ trợ AJAX. Đây là liên kết đến trang demo Telerik cho thấy cách thực hiện ràng buộc phía máy khách theo chương trình của lưới Telerik: http://demos.telerik.com/aspnet-ajax/grid/examples/client/databinding/defaultcs.aspx.

Các vấn đề liên quan