2009-03-02 36 views
5

Chúng tôi sắp bắt đầu xây dựng lại một trong các dự án ASP.NET của chúng tôi và tôi muốn thử phát triển nó mà không viestate bật (bị vô hiệu hóa trong web.config).Chạy ASP.NET mà không cần viewstate bật

tôi biết về những mặt tích cực và nhược điểm của ViewState và nói chung những gì nó theo dõi so với kiểm soát nhà nước, tuy nhiên tôi muốn biết:

  1. sự khác biệt quá trình phát triển nguyên tắc là gì? Tức là bạn cấu trúc Page_Load của bạn khác nhau như thế nào?

  2. Có chức năng nào trong các điều khiển ASP.NET tiêu chuẩn thực sự sẽ không hoạt động nếu không bật chế độ xem không?

Ngoài ra, có bất kỳ bài viết chi tiết nào về sự khác biệt về quy trình làm việc giữa làm việc và không có VS không?

Trả lời

2

Hầu hết các điều khiển như TextBoxes và DropDownLists sẽ hoạt động hoàn toàn tốt mà không có chế độ xem.

Tôi không biết về bất kỳ vấn đề quy trình phát triển nào, ngoài bất kỳ điều khiển hoặc thuộc tính nào được tạo hoặc sửa đổi thông qua mã sẽ không tồn tại mà không có chế độ xem, vì vậy bạn phải tạo lại/sửa đổi chúng trên postback.

Tôi có một số trang rất lớn với chế độ xem lớn. Tôi đã làm một thử nghiệm để vô hiệu hóa ViewState cho toàn bộ dự án, và tìm thấy (lúc đầu) không có sự mất mát đáng chú ý của chức năng. Sau đó, một vài vấn đề nhỏ xuất hiện trong thử nghiệm, vì vậy chúng tôi đã khôi phục vấn đề. Nhưng ứng dụng web 300 trang của chúng tôi có lẽ là 99% chức năng mà không có viewstate. Các vấn đề chúng tôi đã tập trung xung quanh datagrids - phân trang chủ yếu và các điều khiển được tạo động và những thứ khác được sửa đổi theo mã phía sau và do đó không tồn tại mà không có chế độ xem.

Đây là một bài viết rất tốt về ViewState:

http://msdn.microsoft.com/en-us/library/ms972976.aspx

2

Tôi vô hiệu hóa ViewState trên các dự án của mình. Tôi sử dụng phương pháp phân tán/thu thập để điền và nhận các giá trị từ các trang aspx đến/từ các đối tượng truy cập dữ liệu của tôi. Nó sạch hơn và đơn giản hơn nhiều so với sử dụng viewstate.

+0

Cảm ơn ocdecio, những gì bạn có nghĩa là bởi phân tán/tập hợp các phương pháp? Bạn có sử dụng phần còn lại của mô hình trang/sự kiện ASP.NET không? –

+0

Có, tôi sử dụng mô hình sự kiện trang bình thường. Thu thập = thu thập các giá trị từ các phần tử trang vào đối tượng của tôi; scatter = điền các phần tử trang với các giá trị từ các đối tượng của tôi. –

3

Nếu bạn chống lại ViewState - tại sao bạn không thử sử dụng khung MVC? Nó có thể là một điều chỉnh dễ dàng hơn.

+0

Đó chắc chắn là một lựa chọn, nhưng tiếc là một lựa chọn đã vượt qua chúng tôi vào thời điểm đó. Nếu chúng ta bắt đầu lại ngày hôm nay thì MVC chắc chắn sẽ là con đường để đi. –

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