MVC5 - Wie man "selectedValue" in DropDownListFor Html Helper setzt

8

Wie die Frage sagt: Wie setze ich selectedValue in DropDownListFor Html Helfer?

Ich habe die meisten anderen Lösungen versucht, aber keine funktioniert, deshalb eröffne ich eine neue Frage.

Nichts davon hat geholfen:

%Vor%

Ich möchte manuelle Erstellung von SelectListItems oder ein ViewModel nur für die Liste wenn möglich vermeiden.

    
Dino 18.01.2017, 12:21
quelle

2 Antworten

9

Wenn Sie die Methode DropDownListFor() (oder DropDownList() ) zum Binden an eine Modelleigenschaft verwenden, ist dies der Wert der Eigenschaft, die die ausgewählte Option festlegt.

Intern generieren die Methoden ihr eigenes IEnumerable<SelectListItem> und legen die Selected -Eigenschaft basierend auf dem Wert der Eigenschaft fest. Daher wird das Festlegen der Eigenschaft Selected in Ihrem Code ignoriert. Die einzige Zeit, die respektiert wird, ist, wenn Sie nicht an eine Modelleigenschaft binden, zum Beispiel mit

%Vor%

Hinweis: Sie können den Quellcode in englischer Sprache einsehen Insbesondere die Methoden SelectInternal() und GetSelectListWithDefaultValue() , um zu sehen, wie es im Detail funktioniert.

Um die ausgewählte Option anzuzeigen, wenn die Ansicht zuerst gerendert wird, legen Sie den Wert der Eigenschaft in der GET-Methode fest, bevor Sie das Modell an die Ansicht

übergeben

Ich empfehle auch, dass Ihr Ansichtsmodell eine Eigenschaft IEnumerable<SelectListItem> TipoviDepozita enthält und dass Sie die SelectList im Controller generieren

%Vor%

so wird die Ansicht

%Vor%     
Stephen Muecke 19.01.2017, 00:13
quelle
0

Stellen Sie sicher, dass der Rückgabewert der Auswahl ein String und nicht und int ist, wenn Sie ihn in Ihrem Modell deklarieren.

Beispiel:

%Vor%     
p.sturge 02.11.2017 17:18
quelle