当您有一个需要显示为界面控件的域对象(如下拉列表)时,ifwdev建议创建一个扩展方法来添加一个 .ToSelectList()。
原始对象是具有与下拉列表的 .Text 和 .Value 属性相同的属性的对象列表。基本上,它是一个 SelectList 对象的列表,只是类名不同。
我想您可以使用反射将域对象转换为接口对象。有人对可以做到这一点的 C# 代码有任何建议吗?SelectList 是一个 MVC 下拉列表的 SelectListItem。
这个想法当然是在视图中做这样的事情:
<%= Html.DropDownList("City",
(IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList() )