Verwenden eines DTO als Modell für eine Ansicht
-
20-09-2019 - |
Frage
Wenn Sie oben in einer ASP.NET -MVC -Ansicht sehen:
<% var dto = (MyDto)Model; %>
...ist etwas falsch? Es fühlt sich für mich nicht richtig an ...
Lösung
Sie sollten den Typ nicht auf diese Weise für eine stark typisierte Ansicht werfen müssen. Wenn die Ansicht von erbt ViewPage<MyDto>
Dann ist die Modelleigenschaft vom Typ MyDto
.
Wenn die Ansicht nicht stark getippt ist, ist die Modelleigenschaft vom Typ object
Sie müssten es also werfen.
Es ist sinnvoll, in diesem Fall eine stark typisierte Ansicht zu verwenden
Andere Tipps
Die Frage ist: Ist es gut, DTO -Objekte als Sichtmodell zu speichern? Meine Antwort lautet: Es hängt davon ab. DTO sollte nur ein Verhalten haben: Daten speichern. Wenn Sie also DTO -Objekt nur zum Anzeigen von Ansicht verwenden: dann ist es in Ordnung.
Das View -Modell wurde entwickelt, um mehr eingestellte Objekte zu speichern, die mehrere Verhaltensweisen enthalten, aber es gibt keinen Fehler beim Speichern von DTOs.