Tôi hiện đang làm việc trên một giải pháp ASP.NET MVC và gần đây đã giới thiệu cả Knockout (thư viện JS MVVM) và Wijmo (một bộ tiện ích jQuery UI).Làm thế nào tôi có thể tạo các mô hình xem phía máy khách để loại bỏ trong một dự án ASP.NET MVC?
Với việc giới thiệu Knockout tôi cũng cần phải có các mô hình ở phía máy khách, vì vậy cho mục đích này tôi đang sắp xếp hàng loạt C# ViewModel và gắn nó vào khung nhìn bằng cách sử dụng data-model="@Model.ToJson()"
. Điều này cho phép tôi lấy lại mô hình từ JS và áp dụng một số tình yêu phía khách hàng cho tất cả mọi thứ.
Tuy nhiên, loại trực tiếp cần mọi thứ để quan sát được, vì vậy tôi cần khai báo một ViewModel phía máy khách riêng biệt và ánh xạ mọi thứ từ đối tượng mô hình dữ liệu. Điều này cảm thấy rất giống như nỗ lực trùng lặp và tôi muốn tránh nó bằng cách nào đó.
Tôi hy vọng ai đó có công cụ hoặc kỹ thuật để chia sẻ điều đó sẽ cho phép tôi hiển thị trực tiếp Chế độ xem trực tiếp từ máy chủ. Giải pháp có thể có thể bao gồm:
- Nối tiếp JSON tùy chỉnh để hiển thị mô hình chế độ xem quan sát trực tiếp đến đầu ra trong thuộc tính mô hình dữ liệu.
- Tự động chuyển đổi phía máy khách (tôi đã nghe nói về không tự động, nhưng không chắc chắn nếu đó là một đường dẫn được khuyến nghị để thực hiện hoặc ổn định/hoàn thành)
- Điều tôi chưa từng nghĩ đến
Tôi muốn giải pháp là chung chung và tự động, vì cách tiếp cận hiện tại của tôi về cách nhập các mô hình xem phía máy khách quan sát bằng tay chỉ là không hiệu quả để có thể thực hiện được.
Bạn giải quyết vấn đề này như thế nào?
Đó là khá nhiều những gì tôi đã làm, như bạn cần một chức năng nhiệm vụ cho mỗi xem mô hình. Các giải pháp tôi đang tìm kiếm không nên yêu cầu tôi phải có một phương pháp hoặc lớp học cho mỗi mô hình xem, nhưng thay vì có một mảnh chia sẻ mã duy nhất để làm việc chuyển đổi (hoặc khách hàng hoặc phía máy chủ). Đúng nếu tôi nhầm. –
Đó là nơi bạn muốn autobind Tôi tin rằng nó được gọi là, hoặc có nếu không bạn cần phải có một cho mỗi :-( –
Có autobind làm việc? Nó được cập nhật lần cuối 7 tháng trước và readme nói "Đây là cam kết intial và hỗ trợ chỉ tên phần tử ràng buộc để xem mô hình "và điều này dường như ngụ ý rằng nội dung bị thiếu hoặc một số trường hợp không hoạt động, mà không rõ ràng về nó.Ngoài ra, jsfiddle mà tác giả được liên kết trong một bài đăng khác đã bị hỏng, vì vậy có thể sử dụng ví dụ nếu đó là đề xuất của bạn;) –