In ASP.NET MVC5, Use@html.dropdownlistfor, um den Array -Wert als Auswahl der Drop -Down -Tabelle zu verarbeiten
In ASP.NET MVC 5 wird die
-Axiliary -Methode verwendet, um die Drop -Down -Liste für die Attribute im Modell zu rendern. Manchmal müssen Sie jedoch möglicherweise den Auswahlwert der Drop -Down -Liste basierend auf dem Wert des Arrays oder im Modell festlegen.
@Html.DropDownListFor()
Betrachten Sie das folgende Beispiel:
In diesem Beispiel ist <code class="language-csharp">@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })</code>
Attribut ein Array von Objekt. Wir hoffen, den Auswahlwert der Drop -Down -Liste entsprechend dem Attribut Configurations
des ersten Elements im Array festzulegen. AggregationLevelConfiguration
Configurations
Wenn wir jedoch versuchen, den folgenden Code zu verwenden, um den Auswahlwert der Drop -Down -Liste festzulegen: HelperCodeType
Wir werden Fehler treffen. Dies liegt daran, dass der
-Konstruktor erwartet, dass der vierte Parameter der Zeichenfolge ist, aber das Attribut <code class="language-csharp">new SelectList(Model.HelperCodeTypeItems, "Id", "Name", Model.Configurations[0].HelperCodeType)</code>
ist Byte -Typ.
SelectList
Um dieses Problem zu lösen, können wir eine der folgenden zwei Methoden verwenden: Model.Configurations[0].HelperCodeType
Methode 1: Verwenden Sie die EditorTemplate
Erstellen Sie ein benutzerdefiniertes für Typ. In können wir die -Axiliary -Methode verwenden, um die Drop -Down -Liste als
Attribut zu rendern. Wir können auch den Auswahlwert der Drop -Down -Liste entsprechend dem Attribut festlegen.
AggregationLevelConfiguration
Stellen Sie beispielsweise den Auswahlwert der unten stehenden Drop -Down -Liste auf EditorTemplate
Attribute des EditorTemplate
-Objekts: @Html.DropDownListFor()
fest: HelperCodeType
Model.HelperCodeType
Methode 2: Generieren Sie eine neue Selektion. EditorTemplate
Model
In dieser Methode generieren wir für jedes Element im HelperCodeType
-Array ein neues
Objekt. Anschließend können wir den Auswahlwert der Drop -Down -Liste gemäß dem <code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration
@Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])
.... // AggregationLevelConfiguration的其他属性</code>
-attribut des aktuellen Elements festlegen.
zum Beispiel generiert der folgende Code ein neues Objekt für jedes Element im Array im Array:
Configurations
Beide Methoden ermöglichen es uns, den Auswahlwert der Drop -Down -Liste basierend auf dem Wert des Arrays oder der Sammlung im Modell festzulegen. SelectList
Das obige ist der detaillierte Inhalt vonWie wähle ich einen Wert in einem ASP.NET mvc5 @html.dropdownlist für den Wert in einem Array aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!