Est-il possible de désactiver un certain paramètre d'action de conserver sa valeur dans les requêtes?ASP.NET MVC Unbind Action Parameter
[HttpPost]
public ActionResult MyAction(string value1, string value2)
{
if(value1=="hi")
ModelState.AddModelError("value1", "Can't have hi");
//do stuff
if(ModelState.IsValid)
return RedirectToAction("Finish");
else
return View()
}
[HttpGet]
public ActionResult MyAction()
{
return View()
}
La vue est constituée d'une forme simple avec deux zones de saisie (valeur1 et valeur2). Une fois soumis et la validation échoue, la vue est renvoyée. Je veux toujours avoir la valeur de la zone de texte dans la vue pour être vide.
La valeur de la zone de texte "valeur1" est conservée si le modèle est invalidé.
J'ai essayé de déclarer la zone de texte comme <% = Html.TextBox ("value1", null)%> mais la valeur est toujours conservée. J'ai également essayé d'utiliser [Bind (Exclude = "value1")] mais cela ne fonctionne pas sur une seule variable.
Mise à jour 2:
Je fais cela pour une zone de texte qui est utilisé pour l'entrée Captcha (solution personnalisée). Je veux que la zone de texte soit effacée chaque fois que la page est chargée, mais je veux que la validation soit conservée.
Essayé cela, mais il semble supprimer toute validation effectuée contre la zone de texte. Donc dans l'exemple de ma question si je devais fournir "salut" dans la zone de texte pour "valeur1" la validation ne serait pas affichée. – Omar
Mise à jour: Je le fais pour une zone de texte qui est utilisée pour l'entrée Captcha (solution personnalisée). Je souhaite que la zone de texte soit effacée à chaque fois que la page est chargée, mais je souhaite que la validation soit conservée. – Omar
Ah, bon point. Pardon. J'ai mis à jour la réponse avec ce qui devrait fonctionner. – Haacked