Trong MVC bạn có thể tạo một mẫu biên tập viên cho T
và sau đó khi bạn muốn làm biên tập viên cho một loại tài sản của IEnumerable<T>
bạn chỉ có thể làm ví dụLàm thế nào để tạo ra một EditorTemplate sử dụng UIHint với một loại tài sản của IEnumerable <T>
Html.EditorFor(m => m.MyListOfT)
Vẻ đẹp của tên này được tạo tự động bởi khuôn khổ cho đầu vào và sau đó đăng lại mô hình ràng buộc tất cả hoạt động tốt.
Câu hỏi của tôi là: làm cách nào để thực hiện điều này khi bạn có nhiều loại mẫu trình chỉnh sửa?
Tôi đã thử sử dụng UIHint(), tuy nhiên, dường như nó chỉ cho phép bạn chỉ định UIHint đối với danh sách, chứ không phải từng mục trong danh sách. Điều này có nghĩa là bạn phải tạo một EditorTemplate cho danh sách, với một vòng lặp foreach(), và sau đó bạn bỏ lỡ việc tự động đặt tên và ràng buộc mô hình tốt đẹp.
Tôi thiếu gì ở đây?
Mô hình là ví dụ:
public class MyViewModel
{
public IEnumerable<SomeType> SomeProperty { get; set; }
}
Lý tưởng nhất là tôi muốn làm một cái gì đó như:
public class MyViewModel
{
[UIHint("SomeTypeTemplate")]
public IEnumerable<SomeType> SomeProperty { get; set; }
}
và có tự động áp dụng đối với tất cả các yếu tố trong danh sách vì vậy tôi có thể làm cho chỉ với:
Html.EditorFor(m => m.SomeProperty)
Tuyệt vời :-) cảm ơn Darin – magritte