2012-06-11 60 views
16

Lời khuyên tốt nhất mà tôi tìm thấy cho chỉnh sửa danh sách chiều dài thay đổi các mặt hàng đã được viết cho ASP.Net MVC 2 trong 2008.MVC 4 - Cách thanh lịch hơn để chỉnh sửa danh sách các mục có độ dài thay đổi?

http://blog.stevensanderson.com/2008/12/22/editing-a-variable-length-list-of-items-in-aspnet-mvc/

Là cách tiếp cận mà vẫn tốt nhất cho ASP.Net MVC 4, hoặc là có một giải pháp mới hơn được chuẩn hóa hoặc thanh lịch hơn?

+0

Tôi nghĩ mọi người đang làm điều này thông qua Ajax khi có thể. Không chỉ đơn giản hơn rất nhiều từ góc độ mã, nó cung cấp trải nghiệm người dùng tốt hơn. –

+0

@JonGalloway bạn có thể liên kết với một số ví dụ không? –

+0

Không quá tệ nếu bạn không muốn danh sách có thể sắp xếp lại. Bạn có thể làm điều đó hoàn toàn trên phía máy khách bằng cách sử dụng knockoutjs ví dụ hoặc đi cho một hỗn hợp tiếp cận bằng cách kéo một phần xem qua ajax cho mỗi mục mới. –

Trả lời

7

Hãy xem http://knockoutjs.com/ đó là khung JavaScript dựa trên mẫu MVVM. Về cơ bản bạn có thể liên kết dữ liệu các mô hình mảng với mã HTML của bạn và sau đó đăng chúng trở lại như các mảng JSON cho bộ điều khiển của bạn. Một tác dụng phụ lớn là nó giúp cho các bộ điều khiển của bạn trở nên thân thiện với đơn vị kiểm thử hơn (vì các bộ điều khiển của bạn chủ yếu trả về JSON).

Có một video tuyệt vời về loại trực tiếp tại http://channel9.msdn.com/Events/MIX/MIX11/FRM08

Về cơ bản những gì bạn muốn nhìn vào là mảng quan sát được. http://knockoutjs.com/documentation/observableArrays.html

Tôi cũng khuyên bạn nên xem video giới thiệu dài 20 phút trên knockout.js. Mặc dù đó là một video cũ hơn, nó cung cấp cho bạn một ý tưởng tốt về cách nó hoạt động, nó đã giúp tôi rất nhiều. http://channel9.msdn.com/Events/MIX/MIX11/FRM08

Bạn cũng có thể sử dụng AngularJS http://angularjs.org/ cùng một khái niệm (MVVM), nó được đưa ra bởi google. Có rất nhiều sự khác biệt giữa hai nhưng một trong những lớn nhất (tôi nhận thấy atleast) là ở góc có sự phụ thuộc nhiều hơn vào khuôn mẫu, trong rất nhiều khía cạnh nó mang lại cho nó nhiều quyền lực hơn.

Giữa hai tôi nghĩ rằng loại trực tiếp dễ dàng hơn để bắt đầu và chạy nhưng bạn có nhiều tùy chọn hơn với AngularJS.

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