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!