2010-04-15 3 views
0

Je balisage si:ASP.NET CustomValidator essayant de faire correspondre à System.EventHandler?

<asp:TextBox runat="server" ID="Accountname" /> 
<asp:CustomValidator runat="server" ControlToValidate="Accountname" OnServerValidate="Accountname_CheckUnique" meta:resourcekey="ACCOUNTNAME_UNAVAILABLE" /> 

Codebehind donc:

protected void Accountname_CheckUnique(object source, ServerValidateEventArgs arguments) 
{ 
    arguments.IsValid = Foo();  
} 

Ce qui était fonctionne très bien, et sans changer quoi que ce soit sur la page ASP insiste maintenant:

aucune surcharge pour « Accountname_CheckUnique » correspond à délégué « System.EventHandler »

Eh bien non, et il ne devrait pas non plus selon MSDN. Il est tard et je suis fatigué, quelqu'un sait comment résoudre ce problème ou souligner le défaut flagrant de ma compréhension?

Edit:

J'ai aussi essayé + = la liaison comme eventhandler dans le codebehind et il exige encore la signature EventArgs. Fait du. Pas de sens.

Edit 2:

supprimé et recréé entièrement la page (copier coller) et problème a disparu. Supposons que quelque chose de niche a créé un problème très localisé.

@MODS: S'il vous plaît fermer.

+0

Qu'est-ce qui se passe si vous changez pour correspondre à ce que le compilateur veut? Quelque chose semble louche. – womp

+0

La page compile, mais la méthode est inutile - « (arguments que ServerValidateEventArgs) » est nul, donc je ne peux pas l'utiliser pour la validation. – annakata

Répondre

0

supprimer Peut-être « protégé » de la définition de la méthode Accountname_CheckUnique?

+0

Non (et j'ai essayé de toute façon), vous obtiendrez un « foo ne contient pas de définition pour « Accountname_CheckUnique » » erreur si elle était un problème de cadrage. – annakata

+0

Je suis un noob ici, il aurait été mieux si je suis entré dans ce commentaire. Aussi devrait avoir vérifié votre réputation avant de poster la suggestion évidente . Dois-je supprimer la réponse pour que cela revienne sous "sans réponse"? – Damien

+0

Non, il est utile d'avoir de mauvaises réponses, car il est éducatif pour les futurs lecteurs et il empêche les autres personnes de poster la même chose. Toute réponse bien intentionnée est utile, qu'elle soit ou non correcte. (et rep est juste un nombre, vous y arriverez) – annakata

Questions connexes