ASP.NET MVC Hilfsmethode wird verwendet, um eine Drop -Down -Liste für die Attribute im Modell zu generieren. Wenn es sich bei dem Modellattribut um ein Array oder eine Sammlung handelt, wird jedes Element im Array oder der Sammlung die Drop -Down -Liste angezeigt.
Wenn sich der Wert jedoch im Array oder der festgelegten Wert befindet, kann der Auswahlwert der Drop -Down -Liste schwierig sein. Standardmäßig basiert der ausgewählte Wert auf den ersten Einstellungen im Array oder der Sammlung. @Html.DropDownListFor
Methode 1: Verwenden Sie die Editor -Vorlage
Erstellen Sie eine benutzerdefinierte Editor -Vorlage für den Typ in der Sammlung. Erstellen Sie einen Teil der Ansicht in einschließlich des folgenden Code:
Senden Sie in der Hauptansicht die Selektivliste als zusätzliche Ansicht an die Editor -Vorlage:
Views/Shared/EditorTemplates/AggregationLevelConfiguration.cshtml
<code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"]) .... // AggregationLevelConfiguration的其他属性</code>
setzen Sie in dieser Methode das Attribut
<code class="language-csharp">@using (Html.BeginForm()) { ... @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems }) ... }</code>
als auf . Generieren Sie dann in der Hauptansicht ein neues :
CodeTypeItems
IEnumerable<genericidnametype>
Bitte beachten Sie, dass diese Methode nur für das erste Element des SelectList
-Array anwendbar ist. Für andere Elemente im Array ist eine Zyklusbehandlung erforderlich und für jedes Element wird Configurations
generiert. Dies muss möglicherweise die kreisförmige Struktur (z. B. SelectList
Zyklus oder Zyklus) verwenden, um das Array zu iterieren und in jeder Iteration ein neues
<code class="language-csharp">@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, new SelectList(Model.CodeTypeItems, "Id", "Name", Model.Configurations[0].HelperCodeType))</code>
Das obige ist der detaillierte Inhalt vonSo setzen Sie das ausgewählte Element in einem MVC5 Razor @html.dropdownList für den Wert in einem Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!