2009-01-15 7 views
3

J'ai appris beaucoup de choses sur les validateurs asp.net standard, et ma dernière découverte concernait la façon de désactiver un côté client validateur, ce qui était plutôt cool. Maintenant, si le validateur est activé dans ma publication initiale, mais côté client, je le désactive, le côté serveur reconnaît-il le changement côté client, le conserve-t-il ou est-il réactivé lorsque la page est renvoyée? à l'utilisateur?Validateurs: restent-ils désactivés lors de la publication lorsqu'ils sont désactivés ClientSide?

Merci!

Nate

Répondre

5

Les contrôles de validation côté serveur .NET seront réinitialisés à tout ce qu'ils ont été définis pour durer dans le code côté serveur lors d'une publication. Ainsi, par exemple, si vous avez défini un validateur de champ obligatoire sur rqvControl.enabled = true dans sa balise .aspx, il sera activé après une publication, quel que soit son état côté client.

Si vous définissez l'état d'un validateur côté client et que vous souhaitez le conserver, vous devez définir une valeur que vous pouvez lire dans votre code serveur pendant une publication. Cela peut être aussi simple que de définir une valeur de champ cachée à partir de votre javascript qui effectue l'opération d'activation/désactivation. Dans votre codebehind, il suffit de gérer l'état activé de votre validateur basé sur la valeur dans votre champ caché.

+0

merveilleux. Merci d'avoir répondu! –

0

Comment les désactiver côté client? J'imagine que, à moins que l'acte de les désactiver sur le client fasse un postback que le viewstate restera inchangé et donc ils seront réactivés sur l'actualisation de la page suivante (théorisant juste ici). Essayez-le vous-même et si cela ne fonctionne pas, vous pouvez peut-être ajouter un champ caché que vous avez également défini sur le client lorsque vous désactivez le validateur, puis vérifiez ce champ côté serveur lors d'une publication pour savoir si activer/désactiver les là-bas.

+0

J'utilise la méthode inclus dans le script WebUIValidation.js ValidatorEnable Je vais probablement avoir autour de lui, mais je pensais que ce serait un bon endroit pour entrer dans ce savoir informations. –

Questions connexes