2013-02-05 33 views

Trả lời

6

Trạng thái điều khiển là cấu trúc mới trong ASP.NET 2.0 và thực sự không có gì khác ngoài trạng thái xem; tuy nhiên, nó là trạng thái xem với một lợi thế đáng kể; lợi thế đó là các nhà phát triển khác sử dụng điều khiển của bạn không thể tắt trạng thái điều khiển khi họ có thể xem trạng thái.

http://www.codeproject.com/Articles/15300/Using-Control-State-in-ASP-NET-2-0

0

Các ViewState & ControlState cả các cửa hàng các thuộc tính điều khiển, bạn có thể vô hiệu hóa các tài sản ViewState chỉ và điều đó sẽ không ảnh hưởng đến ControlState ở tất cả mà tải trong tải trang đầu tiên hoặc nếu trang được postback controlState đã tải từ bộ nhớ đã lưu

1

Vì trạng thái kiểm soát và trạng thái xem giống nhau thì câu hỏi đầu tiên là, không phải là sự sao chép dữ liệu? Sau đó, chúng tôi nhận thấy có một lợi thế để kiểm soát nhà nước rằng nó không thể bị vô hiệu hóa. Sau đó, chúng ta có thể nghĩ tại sao chúng ta không thể làm tương tự với View State :) tại sao lại tạo ra một "Control State" mới cho điều đó. Bây giờ chúng tôi đã sao chép dữ liệu. Lý do vô hiệu hóa View State bị vô hiệu hóa bởi sự hiện diện của trạng thái Control, phải không?

Đó là nơi mà lợi thế thực sự của Trạng thái điều khiển đến. Trạng thái điều khiển là linh hoạt. Đó là, một điều khiển tùy chỉnh có thể quyết định những gì để lưu trữ trong một trạng thái điều khiển. Trong trường hợp trạng thái xem không có ý định được lưu trữ đặc biệt bởi một điều khiển, nó là một tính năng tổng quát của hộp có sẵn. Bởi vì trạng thái điều khiển có một lý do cụ thể (và nó phải được đáng tin cậy) nó không được thiết kế để bị vô hiệu hóa.

0

Trạng thái điều khiển, được giới thiệu trong ASP.NET phiên bản 2.0, tương tự như trạng thái xem nhưng hoạt động độc lập với trạng thái chế độ xem. Một nhà phát triển trang có thể vô hiệu hóa trạng thái xem cho trang hoặc cho một điều khiển riêng cho hiệu suất. Tuy nhiên, trạng thái điều khiển không thể bị vô hiệu hóa. Trạng thái điều khiển được thiết kế để lưu trữ dữ liệu quan trọng của điều khiển (chẳng hạn như số trang của điều khiển máy nhắn tin) phải có sẵn trên postback để cho phép điều khiển hoạt động ngay cả khi trạng thái xem đã bị tắt. Theo mặc định, khung trang ASP.NET lưu trữ trạng thái điều khiển trong trang trong cùng một phần tử ẩn trong đó nó lưu trữ trạng thái xem. Ngay cả khi trạng thái xem bị tắt hoặc khi trạng thái được quản lý bằng Phiên, trạng thái điều khiển sẽ chuyển tới ứng dụng khách và quay lại máy chủ trong trang. Trên postback, ASP.NET deserializes nội dung của phần tử ẩn và tải trạng thái điều khiển vào mỗi điều khiển được đăng ký cho trạng thái điều khiển.

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