Liaison réussie des dictionnaires dans les vues ASP.NET MVC
La liaison de dictionnaires aux vues ASP.NET MVC peut présenter des défis, entraînant souvent des valeurs initiales manquantes ou des propriétés nulles après la soumission du formulaire. Ce guide explique comment lier correctement les dictionnaires, garantissant ainsi la persistance des données tout au long du processus de liaison de vue et de modèle.
Le problème survient souvent lorsqu'un dictionnaire est initialisé avec des valeurs prédéfinies au sein du modèle. Le classeur de modèles MVC standard ne prend pas directement en charge cette méthode d'initialisation. Pour résoudre ce problème, nous devons exploiter la syntaxe de l'indexeur property[key]
dans la vue.
Voici l'approche corrigée pour votre point de vue :
<code class="language-csharp">@foreach (KeyValuePair<string, string> kvp in Model.Params) { <tr> <td>@Html.Hidden("Params[" + kvp.Key + "]", kvp.Key)</td> <td>@Html.TextBox("Params[" + kvp.Value + "]")</td> </tr> }</code>
Ce code mis à jour utilise @Html.Hidden
pour lier correctement les clés et @Html.TextBox
pour gérer les valeurs, en utilisant la syntaxe d'indexeur appropriée Params[key]
pour chaque paire clé-valeur. Cela garantit que le classeur de modèles mappe avec précision les données soumises au dictionnaire Params
lors de la soumission du formulaire. La clé est cachée pour la préserver lors de la soumission. La valeur est exposée pour la saisie de l'utilisateur.
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!