2009-11-03 2 views
7

J'ai un contrôle utilisateur imbriqué qui apparaît sur chaque page. Il contient une validation sous la forme de validateurs ASP.NET.Y at-il un moyen de désactiver la validation d'événement pour une page entière?

Le problème que je suis en cours d'exécution en est, car il est sur chaque page (en substance, il est situé dans ma commande de navigation de gauche), je dois mettre CausesValidation="false" sur chaque bouton etc ..

est-il un moyen définir CausesValidation = "false" au niveau de la page?

Répondre

11
Page.EnableEventValidation = false; 

Il est fortement recommandé de ne pas désactiver la validation d'événement. Si vous désactivez la validation d'événement, assurez-vous qu'aucune publication ne peut être créée et qu'elle pourrait avoir un effet indésirable sur votre application.

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx

+0

Je pense que je pourrais m'en tenir à désactiver EventValidation pour chacun des boutons. –

+0

ouais .. ce serait une meilleure idée je suppose –

+0

peut-être juste un mauvais design de ma part en mettant un formulaire modal avec la validation des événements. Peut-être que je vais me débarrasser des validateurs asp.net et juste le faire dans le code derrière. –

1

Validation de l'événement et la propriété de validation des causes d'un contrôle sont des choses très différentes.

Je pense que ce que vous voulez faire est d'arrêter les validateurs d'asp dans votre commande usercontrol de tirer quand vous faites quelque chose dans le contenu principal de votre page.

Tout ce que vous devez faire est d'ajouter un nom ValidationGroup aux validateurs et le bouton qui soumet le formulaire dans votre usercontrol.

BTW: validation de l'événement est un peu de magie .NET qui arrête tout ce qui ressemble à javascript étant entré dans un formulaire et soumis à un serveur.

Éteindre == mauvais temps.

Questions connexes