Einstellen ausgewählter Werte in MVC5 Razor Html.DropDownListFor
mit Array -Werten
Mit Arrays und @Html.DropDownListFor()
in ASP.NET MVC 5, um Werte auszuwählen, kann schwierig sein. Hier sind zwei Ansätze, um diese Herausforderung zu überwinden:
Methode 1: Nutzung von EditorteMplates
Diese Methode beinhaltet das Erstellen einer dedizierten EditortePlate für den Datentyp der Sammlung. Das SelectList
wird dann als zusätzliche Ansicht an die EditorteMplate übergeben.
<code class="language-csharp">// AggregationLevelConfiguration.cshtml (EditorTemplate) @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"]) // Main View @Html.EditorFor(m => m.Configurations, new { CodeTypeItems = Model.CodeTypeItems })</code>
Dieser Ansatz trennt die Dropdown -Logik sauber von der Hauptansicht und verbessert die Wartbarkeit.
Methode 2: Dynamische Selektionsliste Generierung
Alternativ können Sie IEnumerable
Eigenschaften durch IEnumerable<GenericIdNameType>
ersetzen (ersetzen Sie GenericIdNameType
durch Ihren tatsächlichen Typ). Dann durch das Array in Ihrer Hauptansicht iterieren, ein neues SelectList
für jedes Element erstellen und den ausgewählten Wert entsprechend festlegen.
<code class="language-csharp">// Main View @for (int i = 0; i < Model.Configurations.Count(); i++) { @Html.DropDownListFor(m => m.Configurations[i].HelperCodeType, new SelectList(Model.CodeTypeItems, "Id", "Name", Model.Configurations[i].HelperCodeType)) }</code>
Diese Methode ist direkter, kann aber mit größeren Arrays weniger überschaubar werden. Erwägen Sie, eine Helfermethode zu verwenden, um die Erstellung SelectList
für eine bessere Lesbarkeit zu verringern, wenn Sie diesen Ansatz auswählen. Denken Sie daran, "Id"
und "Name"
an Ihre tatsächlichen Eigenschaften anzupassen.
Das obige ist der detaillierte Inhalt vonSo setzen Sie den ausgewählten Wert in MVC5 Razor `html.dropdownListfor`' Wenn der Wert in einem Array ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!