Abstract
Một vấn đề khá rắc rối cho các bạn mới tìm hiểu
ASP.NET:
§ Các điều khiển của ASP có liên quan gì đến các điều khiển HTML thông thường?
§ Cách để Server xử lý các request gởi lên từ client như thế nào khi nào các điều khiển
đó lại đi kèm với các behind-code ?
đó lại đi kèm với các behind-code ?
§ Bài viết ngắn sau đây sẽ trả lời câu hỏi đó
Main content
ASP.NET sử dụng kỹ thuật dựng visited composites.
Thông qua bộ biên dịch, file template (.apsx) sẽ được dịch thành code khởi tạo để dựng cây điều khiển (composite) ứng với template gốc. Các text sẽ trở thành các thể hiện của lớp điều khiển
Literal, các điều khiển server biến thành các lớp điều khiển tương ứng với nó.
Literal, các điều khiển server biến thành các lớp điều khiển tương ứng với nó.
Code khởi tạo kết hợp với code do lập trình viên viết (thường là các class cục bộ) và trả kết quả cho lớp ứng với trang đó.
Mỗi request đến trang sẽ được xử lý thông qua nhiều bước.
Đầu tiên, bước khởi tạo sẽ tạo thể hiện của lớp page và thực thi code khởi tạo. Bước này sẽ tạo ra cây khởi tạo (initial tree) để điều khiển bằng các phương thức đặc trưng của trang qua các bước sau
đây:
Mỗi node trên cây là một điều khiển ứng với một thể hiện của lớp, code có thể thay đổi cấu trúc cây bằng cách chỉnh sửa các phương thức hoặc thuộc tính của các node riêng lẻ.
Cuối cùng, thông qua bước tạo dựng (render), visitor sẽ quen với việc thăm từng node trên cây, hỏi từng node để dựng chúng bằng các phương thức của visitor gởi đến. Kết quả xuất ra HTML gởi cho client.
Sau khi xử lý xong request, thể hiện của lớp page sẽ được loại bỏ, với cây điểu khiển của nó. Đây là lý do làm các lập trình ASP.NET mới vào nghề dễ nhầm, vì tin rằng các thành viên của thể hiện sẽ không còn sau mỗi chu kỳ request-response.
Reference
Wikipedia.org