Cho phép nói rằng tôi có một LineItem (từ ví dụ về Giỏ hàng đã qua sử dụng) và tôi muốn hiển thị nó bằng cách sử dụng EditorTemplate.Truyền dữ liệu bổ sung cho EditorTemplate
Tôi hoàn toàn không sao vẽ được bằng cách sử dụng @ Html.EditorFor (m => m.LineItems) từ chế độ xem gốc (một phần hoặc cách khác), nhưng điều khó hiểu là cách tiếp cận tốt nhất để chuyển một số dữ liệu bổ sung (giả sử SelectList có dữ liệu đến từ cơ sở dữ liệu) vào mẫu.
Rõ ràng tôi không nên gây ô nhiễm mô hình LineItem bằng cách thêm các mặt hàng không liên quan (tuy nhiên được yêu cầu từ góc nhìn của một người xem.)
Tôi cố gắng để xem nếu có một cách gõ mạnh để làm điều này trước khi phải cho thủ thuật ViewBag/ViewData.
Tôi đã thử tạo mô hình chế độ xem cụ thể 'LineItem' để truyền dữ liệu, nhưng nó mang tên các tên được tạo bởi MVC và thêm một lớp phụ vào bộ sưu tập (khi tôi chuyển vào một số không thể xem) của viewmodel vào cuộc gọi EditorFor(), thay vì IEnumerable <> của LineItem thực tế)
Ngoài ra, đây có phải là cách sử dụng sai của EditorTemplate không? Một LineItem có yêu cầu một trình đơn thả xuống có các tùy chọn đến từ một bảng cơ sở dữ liệu quá nhiều cho một EditorTemplate không?
Vui lòng hướng dẫn tôi về phía niết bàn MVC. Trong khi chờ đợi câu trả lời, tôi sẽ thử các ý tưởng khác!
Để làm rõ: Lý do tôi đang cân nhắc sử dụng EditorTemplate là do việc xử lý thu thập tự động mà nó dành cho tôi. Nếu không, toàn bộ doanh nghiệp [id] trở nên quá dính.
Bạn không thể sử dụng ChildAction cho điều này? – alexn
Bạn đã giải quyết vấn đề này kể từ đó? –
Hành động con không phải là cách tốt nhất để tạo giao diện người dùng đầu vào. Tôi đã giải quyết vấn đề này bằng cách sử dụng một biến thể của phương thức Steven Sanderson (http://blog.stevensanderson.com/) để hiển thị danh sách các khung nhìn một phần. – kidoman