Je comprends que les champs tels que Html.TextBox() acceptent deux valeurs, le premier étant le nom et le second étant la valeur. Et Html.TextArea() aussi. Mais dans le cas où le formulaire est soumis comme AJAX et le div où le formulaire est placé est remplacé par une vue du serveur, les champs de formulaire insistent pour prendre les valeurs précédentes. Une image vaut mille mots:D'où proviennent les champs de formulaire dans ASP.Net MVC?
image http://img132.imageshack.us/img132/4171/aspnetmvcbug.png
J'ai tout vérifié sur le contrôleur et le modèle et l'image est de mise au point de la vue elle-même. Le modèle est vide mais les champs générés à partir de celui-ci prennent la valeur de la soumission précédente.
Oh! Donc, l'état du modèle est propre lorsque vous n'utilisez pas AJAX parce que je redirige. L'ajout d'un ModelState.Clear() lorsque la méthode est réussie le corrige. Est-ce le chemin à parcourir ou suis-je en train de détruire le ModelState? – Pablo
Je suis à peu près sûr que ModelState.Clear() est utilisable - je l'utilise à quelques endroits dans mon code. Il effacera tous les messages de validation de ModelState ainsi que les valeurs de formulaire pré-postback mais tant que vous en êtes conscient, je pense qu'il n'y a vraiment aucun problème à l'utiliser. –