2009-02-26 32 views
5

Có một nhiệm vụ rộng. Có bảng cập nhật upDetails, hiển thị bảng chi tiết (initialy visible = false) khi người dùng chọn bất kỳ mục nào từ bảng chính, chúng ta nên thiết lậpDetails.Visible = true;UpdatePanel.Visible = true không có hiệu lực

Nhưng nó không hoạt động được bất kỳ địa điểm/sự kiện nào tôi đã đặt - không phải phương thức BL, không được hiển thị trước. Nó vẫn vô hình

Nhưng khi tôi không làm cho nó vô hình, tất cả đều hoạt động tốt

Tôi làm gì sai?

Cảm ơn trước

+0

Hãy xem xét điều này: http://stackoverflow.com/questions/2539204/panel-visible-true-has-no-effect – andoni90

Trả lời

9

Bạn đang nói về ASP.NET Ajax UpdatePanel kiểm soát? Hãy thử đặt một Control Panel "thực" (asp: Panel) bên trong UpdatePanel và thiết lập visibilty false/true trên control đó và để UpdatePanel hiển thị.

+1

Tôi đã suy nghĩ về cách tiếp cận đó nếu không có gì khác có thể hữu ích, nhưng tôi tự hỏi tại sao điều đó xảy ra và có thể tránh thêm bảng dự phòng không? –

1

Bạn nên kiểm tra để đảm bảo rằng bất kỳ điều khiển nào chứa bảng điều khiển của bạn đều hiển thị. Nếu không, thiết lập thuộc tính nhìn thấy được trên control updatepanel sẽ không làm gì cả, do đó bạn sẽ cần phải chắc chắn rằng điều khiển vùng chứa được hiển thị FIRST.

2

Tôi đã tìm kiếm dài và xa, thử nghiệm và không thể làm việc này, thật không may. Quyết định cuối cùng của tôi là bọc nội dung tôi muốn hiển thị/ẩn trong các điều khiển Trình giữ chỗ. Chúng cung cấp cho bạn sự linh hoạt để chuyển đổi chế độ hiển thị mà không cần thêm đánh dấu.

+0

cho bài đăng vào ngày 4 tháng 2 lúc 6:41 - bạn có thể cung cấp ví dụ về việc sử dụng các điều khiển trình giữ chỗ không? –

+0

Bạn chỉ cần lồng giữ chỗ (asp: giữ chỗ) bên trong bảng cập nhật, xung quanh tất cả nội dung của nó. Sau đó, thay vì thiết lập Visible trên UpdatePanel, bạn đặt nó trên PlaceHolder. – ctorx

3

Nếu chế độ hiển thị của bảng cập nhật được đặt thành false, nó không được hiển thị trên kết xuất. Không được hiển thị, nó không tồn tại phía máy khách nơi mà nó không thể được sử dụng (không phải sự kiện của ajax).

Sử dụng trình giữ chỗ là giải pháp cho vấn đề của bạn.

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