Question

J'ai un bouton de déconnexion dans mon menu principal et je souhaite qu’il exécute une méthode de déconnexion. Cependant, je souhaite stocker cette méthode dans une classe distincte en tant que méthode statique, car ce code peut également être appelé depuis d'autres emplacements.

Message d'erreur du compilateur:

CS1061: 'ASP.adminpages_masterpages_adminsystem_master' ne contient pas de définition pour 'ExtensionMethods' et aucune méthode d'extension 'ExtensionMethods' n'accepte un premier argument de type 'ASP.adminpages_masterpages_adminsystem_master'. ou une référence d'assemblage?)

Ma classe ExtensionMethods:

namespace ExtensionMethods
{
    public static class MyExtensionMethods
    {
        public static void Logout(object sender, EventArgs e)
        {
               //Logout Code
        }
    }
}

Mon bouton:

<asp:LinkButton runat="server" OnClick="ExtensionMethods.MyExtensionMethods.Logout" Text="Log Out"></asp:LinkButton>

Des idées?

Était-ce utile?

La solution

Vous devez gérer le clic-bouton sur le code-behind et laisser celui-ci appeler votre méthode statique dans une autre classe.

    <asp:LinkButton id="button1" runat="server" 
       OnClick="LinkButton_Click" Text="Log Out"></asp:LinkButton>

Code-behind:

   void LinkButton_Click(Object sender, EventArgs e) 
   {
      ExtensionMethods.MyExtensionMethods.Logout(sender, e);
   }

Recherchez d'autres exemples dans la référence: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.click.aspx

Autres conseils

Votre gestionnaire d'événements doit vraiment être dans la classe de page et ne pas être statique. Idéalement, il devrait être protégé, mais il peut être public.

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