8
votes

Comment effacer les champs après avoir reculé dans ASP.NET MVC?

Je me demande comment puis-je effacer les champs après un post-pack dans ASP.NET MVC? Comme en ce moment, lorsque les erreurs de validation se produisent, les champs restent remplis avec tout un utilisateur entré. C'est bien cependant, lorsque aucune erreur de validation ne se produit, je souhaite que tous les champs s'effondrent et un message à afficher.

Donc maintenant, j'ai le succès affichant à l'aide de ViewData, mais je ne sais pas comment obtenir les champs pour effacer.


0 commentaires

4 Réponses :


2
votes

Phil Haack a déclaré:

essayez d'appeler xxx

Avant de retourner la vue de l'intérieur votre action de contrôleur.

Qu'est-ce que cela fait est de garder toutes les erreurs associé à la clé "valeur1", mais remplace la valeur avec un vide valeur.

à partir de cette question < / p>


0 commentaires

1
votes

sonne comme un travail pour le PRG (Post Redirect Obtenir) modèle Parce que vous ne voulez pas que les utilisateurs rafraîchissent la page et que vous le souhaitez à nouveau.

Pour ce faire, je mettrais un message ou un indicateur dans vos tempdata afin de pouvoir inspecter que lorsque vous redirigez-vous à l'URL d'origine pour afficher ensuite un message à l'utilisateur.


0 commentaires

-1
votes

Vous pouvez affecter le modèle, nouvelle référence lorsque vous posterez votre modèle dans la vue.
Quelque chose comme ça. xxx

dans ce scénario Tous les champs de modèle seront vides et rien ne sera affiché sous la forme.


0 commentaires

11
votes

Essayez ceci:

if(ModelState.IsValid)
{
    ModelState.Clear();
}
return View();


2 commentaires

Peut également vouloir définir vos erreurs de modèle de modèle après cette ligne :)


Travailler comme charme :)