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. P>
Donc maintenant, j'ai le succès affichant à l'aide de ViewData, mais je ne sais pas comment obtenir les champs pour effacer. P>
4 Réponses :
Phil Haack a déclaré:
essayez d'appeler p> blockQuote>
xxx pré> Avant de retourner la vue de l'intérieur votre action de contrôleur. P>
Qu'est-ce que cela fait est de garder toutes les erreurs associé à la clé "valeur1", mais remplace la valeur avec un vide valeur. p> blockQuote>
à partir de cette question < / p> p>
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. p>
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. P>
Vous pouvez affecter le modèle, nouvelle référence lorsque vous posterez votre modèle dans la vue. dans ce scénario Tous les champs de modèle seront vides et rien ne sera affiché sous la forme. P> P>
Quelque chose comme ça.
Essayez ceci:
if(ModelState.IsValid)
{
ModelState.Clear();
}
return View();
Peut également vouloir définir vos erreurs de modèle de modèle après cette ligne :)
Travailler comme charme :)