Trong dự án ASP.NET MVC 2 (RC) của tôi - tôi đang sử dụng AutoMapper để ánh xạ giữa một lớp LINQ to Sql (Media) và mô hình khung nhìn (MediaVM). Mô hình khung nhìn có thuộc tính SelectList cho một menu thả xuống trong chế độ xem. Tôi có một trình phân giải giá trị tùy chỉnh để điền các mục thuộc tính SelectList từ db, nhưng tôi tự hỏi liệu có cách nào để truyền một vài giá trị từ mô hình nguồn vào trình phân giải (sử dụng phương thức ConstructedBy không?) Để a) xác định mục đã chọn và b) lọc các mục từ db. Đối tượng nguồn được chuyển vào trình phân giải tùy chỉnh - nhưng trình phân giải được sử dụng trên một số mô hình chế độ xem khác nhau với các loại đối tượng nguồn khác nhau, do đó, sẽ xác định vị trí để lấy các giá trị từ cấu hình ánh xạ của tôi. Đây là mô hình điểm của tôi:AutoMapper - Làm thế nào để chuyển các tham số vào một Resolver tùy chỉnh sử dụng phương thức ConstructedBy?
Việc lập bản đồ automapper config:
Mapper.CreateMap<Media, MediaVM>()
.ForMember(dest => dest.slUsers, opt => opt.ResolveUsing<UsersSelectListResolver>());
Nó sẽ được tốt đẹp để có thể làm điều gì đó như thế này trên mệnh đề lập bản đồ .ForMember:
.ConstructedBy(src => new UsersSelectListResolver(src.UserID, src.FilterVal))
Có cách nào để thực hiện việc này không?
Bryan, làm thế nào để bạn điền SelectList từ DB? – awaisj