2009-07-15 33 views
5

Tôi muốn tạo một biểu mẫu đăng ký trải dài trên 3 trang trong ASP.NET MVC.Bạn xử lý các biểu mẫu nhiều phần trong ASP.NET MVC như thế nào?

Phương pháp nào nên sử dụng để duy trì câu trả lời của người dùng cho trang đầu tiên và trang thứ hai trước khi gửi trang thứ 3?

Được thực hiện với TempData, Phiên hoặc một số phương pháp cụ thể khác cho MVC?

Có ví dụ nào về cách thực hiện việc này không?

Trả lời

3

Steven Sanderson có một ví dụ được làm việc trong khung công tác Pro ASP.NET MVC (trang 396-406). Ông gửi dữ liệu đến trang hoặc serializes để TempData theo yêu cầu, và sử dụng một cặp tùy chỉnh OnActionExecuting/OnResultExecuted phương pháp để quản lý nó đằng sau hậu trường. Bên trong bộ điều khiển dữ liệu bật lên như ma thuật, vì vậy nó ít minh bạch hơn tôi muốn, nhưng cho thấy một phương pháp bền vững cơ bản tránh trạng thái phiên.

+2

TempData sử dụng SessionState bên dưới. Tôi thực sự cần phải có được cuốn sách đó. – andymeadows

+2

Đúng là TempData được cài đặt ở đầu cửa hàng phiên nhưng vì nội dung được tự động xóa sau khi một yêu cầu dễ sử dụng hơn nhiều. – keithm

0

Tôi nghĩ rằng có một vài tiêu chí mà bạn nên cân nhắc trước khi lựa chọn một giải pháp. Một số trong số này là:

  1. Bạn có người dùng đã xác thực hoặc người dùng công khai (ẩn danh) không?
  2. Mức độ nhạy cảm của thông tin mà bạn đang lưu trữ giữa các trang là gì?
  3. Họ có được phép đi off-line và quay lại sau để tiếp tục nơi họ rời đi không?
  4. Dữ liệu bạn đang lưu trữ bao nhiêu (tổng cộng) và bạn dự đoán có bao nhiêu người dùng đồng thời?

Những câu hỏi này sẽ đưa bạn đến các quyết định về vị trí và cách lưu trữ dữ liệu. Một khi bạn biết điều đó, bạn có thể bắt đầu tìm kiếm một cách thực hiện tốt phương thức lưu trữ đó.

+0

Đây là biểu mẫu đăng ký người dùng, vì vậy họ sẽ không được xác thực người dùng. Độ nhạy của thông tin sẽ là điển hình của những gì nhiều trang web lớn hơn yêu cầu khi đăng ký. – KingNestor

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