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?

Comment définir l'élément sélectionné dans un Razor MVC5 @ html.dropdownListfor lorsque la valeur est dans un tableau?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-30 00:26:09506parcourir

How to Set the Selected Item in an MVC5 Razor @Html.DropDownListFor when the Value is in an Array?

Dans le rasoir MVC5, lorsque la valeur de@html.dropdownlistfor est un tableau, comment définir l'élément de sélection?

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

Pour définir la valeur de sélection de la valeur dans le tableau ou la collection, vous pouvez utiliser les deux méthodes suivantes:

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

Méthode 2: Générez une nouvelle liste de sélection dans chaque itération et définissez la valeur de sélection
<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

dans chaque itération. Cela garantira que chaque liste de drop -down est définie correctement.
<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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn