Maison >développement back-end >C++ >Comment définir l'élément sélectionné dans un Razor MVC5 @ html.dropdownListfor lorsque la valeur est dans un tableau?
ASP.NET MVC La méthode auxiliaire est utilisée pour générer une liste de drop -down pour les attributs du modèle. Lorsque l'attribut modèle est un tableau ou une collection, la liste de drop -down sera présentée à chaque élément du tableau ou de la collection.
Cependant, lorsque la valeur est dans le tableau ou l'ensemble, la valeur de sélection de la liste de drop -down peut être délicate. Par défaut, la valeur sélectionnée sera basée sur les premiers paramètres du tableau ou de la collection. @Html.DropDownListFor
Méthode 1: Utilisez le modèle d'éditeur
Créez un modèle d'éditeur personnalisé pour le type de la collection. Créez une partie de la vue dans , y compris le code suivant:
Ensuite, dans la vue principale, envoyez SELECTLIST comme une vue supplémentaire ViewData au modèle d'éditeur:
Views/Shared/EditorTemplates/AggregationLevelConfiguration.cshtml
<code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration @Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"]) .... // AggregationLevelConfiguration的其他属性</code>
Dans cette méthode, définissez l'attribut
<code class="language-csharp">@using (Html.BeginForm()) { ... @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems }) ... }</code>à
plutôt que . Ensuite, dans la vue principale, générez un nouveau :
CodeTypeItems
IEnumerable<genericidnametype>
Veuillez noter que cette méthode ne s'applique qu'au premier élément du tableau SelectList
. Pour les autres éléments du tableau, un traitement cyclable est requis et Configurations
est généré pour chaque élément. Cela peut avoir besoin d'utiliser la structure circulaire (telle que le cycle SelectList
ou le cycle ) pour itérer le tableau et générer un nouveau
<code class="language-csharp">@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, new SelectList(Model.CodeTypeItems, "Id", "Name", Model.Configurations[0].HelperCodeType))</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!