2009-09-29 7 views
3

Lorsque vous déclarez une méthode code-behind comme privé (comme un gestionnaire d'événements), le compilateur ne tient pas compte et sorties:privé code-behind méthodes ignorées par le compilateur - ASP.NET

« compilateur Message d'erreur: CS1061 : 'ASP.default_aspx' ne contient pas de définition pour 'OnLoginUser' et aucune méthode d'extension 'OnLoginUser' acceptant un premier argument de type 'ASP.default_aspx' n'a été trouvée (manque-t-il une directive using ou une référence d'assembly?) "

En pratique, OnLoginUsed existe, et lorsque l'identificateur est changé en "public \ protected", tout fonctionne correctement.

La question est pourquoi il est impossible de déclarer une telle méthode comme privée? après tout, il est appelé à l'interne par d'autres membres de la classe.

10x!

Répondre

9

Votre page ASPX n'est pas la même classe que votre code derrière la page. Il en hérite et ne peut donc pas voir les membres privés. C'est pourquoi ils doivent être protégés ou publics.

Questions connexes