Remplacer ScriptControl ou BaseValidator pour un contrôle de validation ASP.NET asynchrone ?

StackOverflow https://stackoverflow.com/questions/50330

Question

Je prévois de développer un contrôle serveur ASP.NET pour fournir une validation asynchrone de la disponibilité du nom d'utilisateur pour les nouvelles inscriptions d'utilisateurs.Le contrôle permettra à un développeur de le pointer vers une TextBox "nom d'utilisateur" et fournira une indication si le nom d'utilisateur est disponible ou non.Comme cet exemple, mais sans le maladroit UpdatePanel.

Une décision de conception qui me donne des maux de tête est de savoir si je dois hériter de Contrôle de script ou Validateur de base.

En le mettant en œuvre comme un Contrôle de script, je peux rendre la partie côté client plus facile à gérer et la localiser facilement avec un resx.

Cependant, je veux m'assurer que le validateur fonctionne correctement par rapport à Page.IsValid.La seule façon que je connaisse de procéder est de remplacer Validateur de base et mettre en œuvre EvaluateIsValid().

Alors, ma question est la suivante : comment suggéreriez-vous de structurer ce contrôle ?Est-ce qu'hériter de BaseValidator est le meilleur (le seul) moyen d'obtenir la bonne partie du validateur, ou puis-je le faire d'une autre manière ?

Était-ce utile?

La solution

Vous devriez être capable de faire les deux si vous implémentez le IScriptControl interface tout en dérivant également de BaseValidator :

public class YourControl : IScriptControl, BaseValidator

Pour implémenter l'interface IScriptControl, votre contrôle devra également disposer des méthodes GetScriptReferences et GetScriptDescriptors.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top