Khi bạn có đối tượng miền cần hiển thị dưới dạng điều khiển giao diện, như danh sách thả xuống, ifwdev đề xuất tạo phương thức tiện ích mở rộng để thêm .ToSelectList().Làm cách nào để mã hóa phương thức C# Extension để biến đối tượng Mô hình miền thành đối tượng Giao diện?
Đối tượng gốc là Danh sách đối tượng có thuộc tính giống với thuộc tính .Text và .Value của danh sách thả xuống. Về cơ bản, đó là một danh sách các đối tượng SelectList, không phải của cùng một tên lớp.
Tôi tưởng tượng bạn có thể sử dụng phản chiếu để biến đối tượng miền thành đối tượng giao diện. Bất cứ ai có bất cứ lời đề nghị cho mã C# có thể làm điều này? SelectList là một danh sách thả xuống của MVC của SelectListItem.
Ý tưởng tất nhiên là để làm một cái gì đó như thế này trong giao diện:
<%= Html.DropDownList("City",
(IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList())
Bằng phản ánh, ý tôi là đọc các thuộc tính của đối tượng nguồn và kết hợp chúng với các tính chất SelectList, trả lại một danh sách lựa chọn DropDownList thích hợp. –