OK, j'essaye depuis des heures et je pourrais avoir besoin d'aide. J'essaie d'implémenter une page dans MVC 3 qui a des boutons "retour" et "suivant". Lorsque vous cliquez sur le bouton Précédent, je souhaite désactiver la validation MVC côté client afin que ma méthode d'action s'exécute et envoie l'utilisateur à la page Web logique précédente. J'ai essayé ça:
<script type="text/javascript">
document.getElementById("backButton").disableValidation = true;
</script>
et ça:
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." disableValidation="true" />
Quoi qu'il en soit, la validation côté cilent JavaScript entre en jeu et ne laisse pas le bouton faire son post-back. Je pense que disableValidation
ne fonctionne que dans MVC 2 peut-être, et je suis censé faire autre chose dans MVC 3, mais ne semble pas trouver d'exemples.
Quelle est cette force mystique qui fait que la réponse se révèle dès que vous postez une question quelque part?
Il semble que dans MVC 3, vous désactivez la validation côté client sur un bouton en y ajoutant la classe "cancel". Donc dans mon exemple:
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." class="cancel" />
fonctionne très bien. Et aucun attribut ID n'est nécessaire non plus. Si vous avez une classe de style réelle sur le bouton, procédez comme suit:
<input type="submit" name="backButton" value="← Back"
title="Go back to step 1." class="style-name cancel" />
Les scripts de validation semblent liés au type de soumission input
. En changeant cancel
en bouton, la validation est ignorée:
<button type="button" onclick="document.location.href('Index')">Cancel</button>