MVC 5 ajoute des champs dynamiques au formulaire à l'aide de jquery et l'enregistre dans le modèle
-
20-12-2019 - |
Question
Est-il possible d'avoir un formulaire dans MVC 5 où vous pouvez ajouter des champs dynamiques en utilisant jQuery comme ici :JSFiddle
Et puis publier ces champs pour modéliser à l'aide de MVC ?
En fait, mon modèle de vue dans lequel je souhaite enregistrer ces valeurs est un List<string>
où toutes ces valeurs seront enregistrées.
La solution
Lors de l'ajout dynamique des entrées, vous devez vous assurer qu'elles sont correctement nommées/indexées pour la publication.Par exemple, si votre méthode de post-action est
[HttpPost]
public ActionResult Edit(List<string> text)
{
...
alors vos entrées doivent être nommées
<input name="[0].text" value=.../>
<input name="[1].text" value=.../>
<input name="[2].text" value=.../>
vous devez donc modifier le script pour créer l'attribut de nom correct.Notez que les index doivent commencer à zéro et être séquentiels. Vous devrez donc prendre en compte ce qui se passe si une entrée au milieu de la liste est supprimée par l'utilisateur.