Tôi có ấn tượng rằng một điều khiển trong UpdatePanel lồng nhau sẽ làm cho UpdatePanel ở mức cao nhất làm mới (do đó làm mới cả UpdatePanels) vì bất kỳ sự kiện nào trên điều khiển hoạt động như một trình kích hoạt "ẩn". Đúng không?Cập nhật lồng nhauPanel khiến phụ huynh đăng lại?
Tôi đã cố gắng để dây một cái gì đó như thế này Up-
UserControl
Parent UpdatePanel
"Show" button
ASP:Panel
Dynamically added UserControls, each with UpdatePanels
Khi nút Show được nhấp, ASP: Bảng điều chỉnh trở nên rõ ràng và bắt đầu thêm UserControls để tự động, dựa trên một số back-end logic.
Mỗi điều khiển được thêm động (từ nay trở đi: UserControls) có các nút và liên kết hỗ trợ Atlas riêng, vì vậy chúng cũng có UpdatePanels. Hiện tại khi tôi nhấp vào liên kết trong một trong các UserControls, toàn bộ nội dung của ASP: Bảng điều khiển biến mất, như thể nó đang được hiển thị lại. Tất cả các điều khiển được thêm động của tôi đều biến mất và không có sự kiện nhấp chuột nào của họ bị bắt trong trình gỡ lỗi.
Tôi giả định điều đang xảy ra ở đây là các điều khiển nằm trong các bảng cập nhật lồng nhau khiến cho UpdatePanel gốc đăng lại vì chúng kích hoạt trình kích hoạt "ẩn". Có cách nào cho UserControls của tôi để hoạt động độc lập và không gây rối với ASP: Bảng điều khiển có chứa chúng?
Nếu không, tôi nên theo đuổi chiến lược nào ở đây? Nếu tôi phải render lại toàn bộ ASP: Panel mỗi lần một sự kiện xảy ra trên một trong những UserControls (có thể là nhiều), điều đó có nghĩa là tôi sẽ phải tạo lại UserControls, điều này cần một chút nỗ lực để tạo ra. Tôi cũng sẽ phải bảo tồn một số loại trạng thái xem để tạo lại chúng. Tôi hơi mới với ASP.NET và có vẻ đáng sợ. Tôi muốn không bao giờ làm mới UserControl đầu trang và ASP: Panel nếu tôi có thể tránh nó, và để cho mỗi lửa UserControls được thêm động và xử lý các sự kiện của riêng họ một cách không đồng bộ.
CHỈNH SỬA: Thay vì thêm các điều khiển động, tôi đã thêm chúng vào đánh dấu (không phải là giải pháp xấu). Vì vậy, đã thoát khỏi các điều khiển biến mất vấn đề, bởi vì bây giờ các điều khiển không được thêm động nhưng thay vào đó tồn tại trong đánh dấu. Nhưng vẫn còn phụ huynh UpdatePanel đăng là một hit hiệu suất lớn, bởi vì tất cả các UserControls đang nhận được đăng thay vì một. Làm cách nào để tôi chỉ tạo một lần đăng nhập UserControl? Ngoài ra, tôi muốn biết làm thế nào để thoát khỏi vấn đề kiểm soát biến mất nếu được thêm động?