2010-06-14 36 views
7

Tôi là một nhà phát triển PHP, những người đã làm việc trên các dự án ASP.net và tôi tự hỏi tại sao mỗi trang được bao bọc trong một biểu mẫu. Điều này không có ý nghĩa với tôi.Tại sao asp.net quấn trang trong một biểu mẫu?

Ngoài ra, với tất cả các trường nhập ẩn, đặc biệt là trường "Xem trạng thái".

+2

phải cụ thể rằng đây là biểu mẫu web asp.net, chứ không phải ASP.NET MVC giống với môi trường PHP mà bạn đã quen với – MikeJ

Trả lời

11

ASP.Net cố gắng để làm cho nó để các lập trình viên có thể giả vờ rằng web là một nền tảng stateful, và nó hoạt động giống như một ứng dụng máy tính để bàn. ViewState về cơ bản là một khối tuần tự của trạng thái của trang khi nó được tạo ra. Khi trang được đăng lại, mô hình phía máy chủ được khởi tạo thành các giá trị trong ViewState, và sau đó các giá trị mới từ biểu mẫu đã đăng được áp dụng.

Một phần của việc trở thành một lập trình ASP.Net khá là học khi sử dụng ViewState và không, bởi vì mặc định là sử dụng nó ở khắp mọi nơi gây ra rất nhiều sưng lên trong trang tải xuống.

2

Công cụ ASP.NET WebForms tạo ra một trừu tượng trạng thái trên HTTP không trạng thái.

Đối tượng chính là trang máy chủ. Kiểm soát các sự kiện cháy được xử lý phía máy chủ. Các điều khiển duy trì trạng thái của chúng (thường là các giá trị đầu vào) giữa các yêu cầu.

Bất cứ khi nào bạn nhấp vào điều khiển máy chủ, yêu cầu "đăng lại" được gửi lại cho máy chủ. ViewState thực sự chứa dữ liệu cho máy chủ biết điều khiển nào đã kích hoạt sự kiện. Đó là lý do tại sao luôn luôn có một hình thức (và bất kỳ hình thức nào không được phép).

3

Mọi thứ trong ASP.NET (các trang aspx) hoạt động khi đăng dữ liệu.

Điều này có nghĩa là bất cứ điều gì bạn đặt trên trang web có hành động phía máy chủ sẽ gây ra "đăng lại" cho chính nó. Bài đăng trở lại chứa thông tin như "những gì vừa xảy ra" và một số thông tin giúp trang web duy trì trạng thái (trang web nào không theo truyền thống). Trạng thái xem là một phần của nhiệm vụ duy trì trạng thái đó.

Nếu bạn không thích cách trang aspx cố gắng biến trang web thành các ứng dụng kiểu dáng trạng thái, bạn có thể thử khung ASP.NET MVC, cho phép web hoạt động như dự định!

5

Mỗi trang ASP.NET được gói trong phần tử <form> vì toàn bộ khuôn khổ xoay quanh các lệnh POST.

ASP.NET cung cấp 'điều khiển web' là trừu tượng hướng đối tượng của phần tử HTML (và trong một số trường hợp, nhóm phần tử) - trong mã phía máy chủ của bạn, bạn có thể đính kèm lệnh vào các sự kiện khác nhau trên điều khiển web ví dụ: Button.OnClick, TextBox.OnChanged) - khung làm dây kết nối chúng bằng cách sử dụng kết hợp các trường ẩn và javascript được tạo. JavaScript được tạo thường đặt một vài trường ẩn giá trị để chỉ ra (ví dụ) điều khiển kích hoạt bài đăng và các đối số lệnh (nếu có), sau đó gửi biểu mẫu.

ViewState là một kỹ thuật được sử dụng bởi khung công tác để tuần tự hóa trạng thái máy khách. Đó là một thay thế cho việc sử dụng phiên nhiều, giao dịch tải trọng HTML lớn hơn cho một dấu chân bộ nhớ thấp hơn trên máy chủ.

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