Wenn Sie ein Domänenobjekt haben, das als Schnittstellensteuerung angezeigt werden soll, wie z. B. eine Dropdown-Liste, schlug ifwdev das Erstellen einer Erweiterungsmethode zum Hinzufügen einer .ToSelectList() vor.Wie wird eine C# -Erweiterungsmethode codiert, um ein Domain Model-Objekt in ein Interface-Objekt umzuwandeln?
Das Ursprungsobjekt ist eine Liste von Objekten mit Eigenschaften, die mit den Eigenschaften .Text und .Value der Dropdownliste identisch sind. Im Grunde ist es eine Liste von SelectList-Objekten, die nicht denselben Klassennamen haben.
Ich kann mir vorstellen, dass Sie mit Reflection das Domain-Objekt in ein Interface-Objekt verwandeln können. Jeder hat irgendwelche Vorschläge für C# -Code, der dies tun könnte? Die SelectList ist eine MVC-Dropdown-Liste von SelectListItem.
Die Idee ist natürlich so etwas wie dies in der Ansicht zu tun:
<%= Html.DropDownList("City",
(IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList())
Durch Reflexion, meine ich die Eigenschaften des Quellobjekts lesen und sie zu den Select Eigenschaften entsprechen, eine richtige Dropdownauswahlliste zurück. –