Vấn đề bạn đang gặp phải là lệnh truy vấn mất quá nhiều thời gian. Tôi tin rằng thời gian chờ mặc định để thực thi truy vấn là 15 giây. Bạn cần đặt CommandTimeout (tính bằng giây) sao cho nó đủ dài để lệnh hoàn thành việc thực thi. "CommandTimeout" khác với "Connection Timeout" trong chuỗi kết nối của bạn và phải được đặt cho từng lệnh.
Trong Sự kiện Lựa chọn sql của bạn, hãy sử dụng lệnh:
e.Command.CommandTimeout = 60
ví dụ:
Protected Sub SqlDataSource1_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
e.Command.CommandTimeout = 60
End Sub