Với việc thêm MVC 2 của HtmlHelper EditorFor(), bạn không thể tạo các mẫu Hiển thị và Biên tập mạnh mẽ cho một đối tượng Mô hình cụ thể và sau khi không sử dụng nó có một chút bối rối về cách chuyển dữ liệu Mô hình bổ sung vào trình chỉnh sửa mà không làm mất khả năng gõ mạnh mẽ của điều khiển trình chỉnh sửa.ASP.NET MVC 2 - HTML.EditorFor() và Custom EditorTemplates
Ví dụ cổ điển: Sản phẩm có Danh mục. ProductEditor có một DropDownList cho Category chứa tên của tất cả các Category. ProductEditor được nhập mạnh vào Sản phẩm và chúng tôi cần phải chuyển vào Danh mục lựa chọn của Danh mục cũng như Sản phẩm.
Với chế độ xem chuẩn, chúng tôi sẽ bao bọc dữ liệu Mô hình theo một loại mới và truyền dữ liệu đó theo. Với EditorTemplate chúng ta mất một số chức năng tiêu chuẩn nếu chúng ta truyền vào một Mô hình hỗn hợp chứa nhiều đối tượng (điều đầu tiên tôi nhận thấy là tất cả các phương thức LabelFor/TextBoxFor đã tạo ra các tên thực thể như "Model.Object" thay vì chỉ "Object ").
Tôi làm sai hay nên Html.EditorFor() có tham số ViewDataDictionary/Model bổ sung?
Đương nhiên điều này có ý nghĩa nhưng tôi không thể giúp đỡ, nhưng nhận thấy rằng việc đặt mô hình trong một tùy chỉnh ViewModel gây tên trường mẫu để có tiền tố là tên thuộc tính của đối tượng trong phong tục ViewModel. Không phải đây là vấn đề nhưng nó thêm một bước khác để cập nhật mô hình. Tôi có lẽ đang rên rỉ không cần thiết hả? –