MVC Html.DisplayNameFür ein komplexes Modell

8

Ich habe ein Modell mit einem komplexen Typ, d. h. Benutzer / Adressen / Adressliste

%Vor%

In meiner Ansicht zeige ich dies

an %Vor%

Der DisplaynameFor Street / City / State funktioniert nicht.

Was ist der richtige Weg, um DisplayNameFor für ein Unterobjekt zu erhalten?

TIA J

    
John S 28.08.2012, 22:15
quelle

5 Antworten

9

Ich habe mich geändert

%Vor%

bis

%Vor%

Verwenden Sie nicht @Html.DisplayNameFor(m => Model.Addresses[0].Street) , denn wenn Sie die erste Zeile bearbeiten müssen, können Sie nicht auf diese Weise arbeiten.

Alles funktioniert jetzt wie erwartet.

    
John S 29.08.2012, 17:46
quelle
1

Sie können auch Linq verwenden, um den Indexierungsfehler zu vermeiden. Ich benutzte das ist mein Code -

%Vor%

Und der folgende Fehler ist weg.

%Vor%

Es ist jedoch besser, den Namen direkt mit der folgenden Anweisung zu verwenden

%Vor%     
noob 04.11.2014 14:36
quelle
1

Das könnte besser sein:

%Vor%

funktioniert auch, wenn die Liste leer ist

    
antarias 22.04.2015 14:30
quelle
0

Die Art, wie Sie DisplayNameFor verwenden, ist falsch. Addresses ist eine Liste und hat keine Eigenschaften wie Street , City , State . So wie Sie erwarten, dass der Name angezeigt wird.

Ist es nicht so einfach, direkt die Namen in der Ansicht zu verwenden, anstatt in diesem Fall helper zu verwenden.

    
VJAI 29.08.2012 14:24
quelle
0

Um den Namen für die Adresseigenschaft anzuzeigen, können Sie ein leeres Adress -Modell

definieren %Vor%

und benutze es so

%Vor%     
Bellash 22.04.2015 14:44
quelle

Tags und Links