'Vòng đời trang' của trang ASP.NET MVC, so với ASP.NET WebForms là gì?
Tôi đang cố gắng hiểu rõ hơn câu hỏi 'đơn giản' này để xác định xem các trang hiện có mà tôi có trong một trang web (rất) đơn giản có thể dễ dàng chuyển đổi từ ASP.NET WebForms hay không.
Hoặc là "chuyển đổi" của quy trình bên dưới hoặc vòng đời thay thế sẽ là thứ tôi đang tìm kiếm.
Những gì tôi đang làm:
(vâng tôi biết rằng bất kỳ ai có khả năng trả lời câu hỏi của tôi đều biết tất cả những điều này - tôi chỉ đang cố gắng so sánh 'vòng đời' nên tôi nghĩ tôi sẽ bắt đầu bằng cách điền vào những gì chúng ta đã biết)
Kết xuất trang:
- Tôi có một trang chính chứa mẫu cơ bản của tôi
- Tôi có các trang nội dung cung cấp cho tôi các vùng được đặt tên từ trang chính mà tôi đặt nội dung.
- Trong một trình xử lý sự kiện cho mỗi trang nội dung, tôi tải dữ liệu từ cơ sở dữ liệu (chủ yếu là chỉ đọc).
- Tôi liên kết dữ liệu này với các điều khiển ASP.NET đại diện cho lưới, thả xuống hoặc lặp lại. Dữ liệu này tất cả 'cuộc sống' bên trong HTML được tạo. Một số phần mềm được đưa vào ViewState (nhưng tôi sẽ không tham gia quá nhiều!)
- Tôi đặt thuộc tính hoặc liên kết dữ liệu với các mục nhất định như điều khiển Image hoặc TextBox trên trang.
- Trang được gửi đến máy khách được hiển thị dưới dạng HTML không thể sử dụng lại.
- Tôi cố gắng tránh sử dụng ViewState ngoài những gì trang cần tối thiểu.
Phía khách hàng (không sử dụng ASP.NET AJAX):
- Tôi có thể sử dụng JQuery và một số thủ thuật khó chịu để tìm các điều khiển trên trang và thực hiện các thao tác trên chúng.
- Nếu người dùng chọn từ danh sách thả xuống - một postback được tạo sẽ kích hoạt sự kiện C # trong cơ sở mã của tôi. Sự kiện này có thể đi đến cơ sở dữ liệu, nhưng bất cứ điều gì nó làm một trang HTML hoàn toàn mới được tạo ra sẽ được gửi lại cho khách hàng.
- Tôi có thể sử dụng Page.Session để lưu trữ các cặp giá trị khóa tôi cần sử dụng lại sau
Vậy với MVC, 'vòng đời' này thay đổi như thế nào?