Maison >développement back-end >C++ >Comment définir la valeur sélectionnée dans @ html.dropdownListFor lorsque la valeur est dans un tableau?

Comment définir la valeur sélectionnée dans @ html.dropdownListFor lorsque la valeur est dans un tableau?

Barbara Streisand
Barbara Streisandoriginal
2025-01-30 00:46:08646parcourir

How to Set the Selected Value in @Html.DropDownListFor When the Value Is in an Array?

use@html.dropdownlistfor pour définir la valeur moyenne du tableau dans le ASP.net MVC 5 dans ASP.NET MVC 5

Dans l'application ASP.NET MVC 5, la méthode auxiliaire peut être utilisée pour générer une liste de drop -down à partir d'un ensemble de données. Cependant, lors du traitement des structures de données complexes (telles que le tableau), la définition de la valeur de sélection en fonction des attributs de la matrice peut relever des défis.

Considérez le ViewModel suivant:

@Html.DropDownListFor()

comment le défi ici est basé sur la valeur de sélection dans la liste de drop -down selon l'attribut

de l'objet

dans le tableau
<code class="language-csharp">@model MyProject.Web.API.Models.AggregationLevelConfViewModel

@Html.DropDownListFor(m => m.Configurations[0].HelperCodeType, (SelectList)Model.HelperCodeTypeItems, new { id = "Configurations[0].HelperCodeType" })</code>
.

La méthode conventionnelle de définition de la valeur de sélection dans le constructeur n'est pas valide, car la valeur de sélection qui n'est pas disponible dans la collection Configurations. AggregationLevelConfiguration HelperCodeType Solution: SelectList HelperCodeTypeItems

Méthode 1: Utilisez le modèle d'éditeur

Créez un modèle d'éditeur dans :

Ensuite, dans la vue principale, utilisez pour passer

au modèle d'éditeur:

/Views/Shared/EditorTemplates/AggregationLevelConfiguration.cshtml

Méthode 2: Générez de nouveaux selectlist
<code class="language-csharp">@model yourAssembly.AggregationLevelConfiguration
@Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])</code>

additionalViewData set SelectList au lieu de

. Ensuite, dans la vue principale:
<code class="language-csharp">@using (Html.BeginForm())
{
  ...
  @Html.EditorFor(m => m.Configurations , new { CodeTypeItems = Model.CodeTypeItems })
  ...
}</code>

Veuillez noter que l'attribut est automatiquement généré par sans spécification manuelle.

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