MỘT SỐ CÔNG NGHỆ VÀ KỸ THUẬT 2.1Microsoft NET
2.3.2 Vòng đời của một Control
Hình 2.6 - Vòng đời của Control
Instantiate: Control được khởi tạo bởi trang hoặc control khác qua phương thức tạo lập của nó.
Initialize: trang và tất cả các control trong cây control gọi phương thức OnInit của chúng theo mặc định (kích hoạt sự kiện Init). Những thuộc tính của control đặc tả trong cú pháp trang được gán trước pha Initalize. Có thể truy xuất tới những control con trong tập hợp Controls của nó, nhưng không truy xuất được tới control cha hoặc control ở nhánh cao hơn
Begin Tracking View State: trong pha này trang tự động gọi phương thức TrackViewState – đảm bảo những thay đổi trên thuộc tính được lưu lại trên ViewState
Load View State: dùng khi PostBack, control khôi phục lại trạng thái của nó tại bước xử lý cuối cùng trước khi request. Có thể override phương thức LoadViewState để thực hiện tuỳ chọn khôi phục trạng thái.
Load Postback Data: dùng khi PostBack, nếu control tham gia vào xử lý dữ liệu postback, bằng cách thực thi phương LoadPostData của giao tiếp IPostBackDataHandler. Trong giai đoạn này control phải cập nhật trạng thái của nó từ dữ liệu đưa về từ form
Load: Tại thời điểm này control có thể truy xuất an toàn tới các control khác trong trang. Có thể override hàm OnLoad. Nếu chỉ thực thi code cho yêu cầu trang lần đầu thì nên kiểm tra thuộc tính IsPostBack.
Raise Changed Events: dùng khi PostBack, nếu control tham gia vào xử lý dữ liệu postback bằng cách thực thi phương thức RaisePostDataChangedEvent của giao tiếp IpostBackDataHandler. Trong giai đoạn này control gọi các sự kiện để gán những thay đổi trạng thái của nó tới kết quả postback.
Raise Postback Event: dùng khi PostBack, nếu control tham gia vào xử lý sự kiện postback. Trong pha này có thể thực hiện ánh xạ sự kiện ở client vào trong sự kiện ở server bằng cách thực thi phương thức RaisePostBackEvent của giao tiếp IpostBackEventHandler.Ví dụ với Button, kích hoạt sự kiện Click trên server cho phép người phát triển trang xử lý sự kiện postback trên client.
Save View State: Nền tảng của trang (page framework) tự động lưu ViewState. Có thể override phương thức SaveViewState để tuỳ chọn việc lưu này. Bất kỳ thay đổi nào thực hiện sau pha này sẽ không được duy trì trên ViewState.
Render: Control viết text đánh dấu (markup text) tới luồng ra bằng cách override phương thức Render hoặc một trong những phương thức Render khác của WebControl
Unload: trang thực hiện việc dọn dẹp
Dispose: giải phóng tài nguyên mà control chiếm.