2017-04-02 4 views
1

Ich habe Probleme mit der Bindung von 2 Modellen in 1 Ansicht. Hier ist meine Ansicht Code:ASP.NET Core - 2 @ Model Bindung

@model IEnumerable<PEMCOLoan.DAL.Entities.Models.Employee> 
@model PEMCOLoan.DAL.Entities.Models.Employee 

Die IEnumerable nutzt alle Mitarbeiter in Tabellen und die andere zu generieren verwendet werden, um hinzufügen/bearbeiten/löschen ... Ich habe bereits Funktionalitäten auf diesen Betreibern, wie immer, wenn Daten sehen Ich habe einen Fehler bekommen.

Gibt es trotzdem, dass ich 2 das gleiche Modell mit unterschiedlicher Funktion gleichzeitig in 1 Ansicht binden könnte?

+2

Nein Erstellen Sie ein Modell, das beides als Eigenschaften hat. Auf diese Weise können Sie beide über das Umhüllungsmodell auf sie zugreifen. – Nkosi

+0

Die Verwendung eines 'Tuple' ist der einfachste Weg! – Arrrr

Antwort

0

Gibt es trotzdem, dass ich 2 das gleiche Modell mit unterschiedlichen Funktion gleichzeitig in 1 Ansicht binden könnte?

No.

Erstellen einer Ansicht-Modell, das sowohl als Eigenschaften aufweist.

auf diese Weise, wenn sie ausgefüllt und an die Ansicht übergeben werden, können Sie beide über das Wrapping-Modell zugreifen.

@model MyViewModel 

@foreach(var e in Model.Employees) { 
    <p>@e.Property</p> 
} 

<p>@Model.Employee.Property</p> 
+0

Hi @Nkosi, Hast du eine Idee, wie das zu beheben ist? 'InvalidOperationException: Das in ViewDataDictionary übergebene Modellelement ist vom Typ 'System.Collections.Generic.List'1 [PEMCOLoan.DAL.Entities.Models.Employee]', aber diese ViewDataDictionary-Instanz benötigt ein Modellelement vom Typ 'prjPEMCOLoan.Models' .ModelEmployee'.' Es scheint, dass ich eine neue Instanz erstellen muss, oder? aber wenn ich versuche, eine neue Instanz innerhalb des Modells zu erstellen, gibt es mir einen Fehler ... – NightShade555

Verwandte Themen