Кнопка ASP.NET говорит, что не может найти метод, который я вставил в OnClick - PullRequest
0 голосов
/ 30 октября 2009

В главном меню у меня есть кнопка выхода из системы, и я хочу, чтобы она запускала метод выхода из системы. Однако я хочу сохранить этот метод в отдельном классе как статический метод, поскольку этот код может вызываться и из других мест.

Сообщение об ошибке компилятора:

CS1061: 'ASP.adminpages_masterpages_adminsystem_master' does not contain a definition for 'ExtensionMethods' and no extension method 'ExtensionMethods' accepting a first argument of type 'ASP.adminpages_masterpages_adminsystem_master' could be found (are you missing a using directive or an assembly reference?)

Мой класс ExtensionMethods:

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

Моя кнопка:

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

Идеи

Ответы [ 2 ]

2 голосов
/ 30 октября 2009

Вам нужно обработать нажатие кнопки на выделенном фрагменте кода и позволить этому вызывать ваш статический метод в другом классе.

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

Код-за:

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

Проверьте ссылку на дополнительные примеры: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.click.aspx

0 голосов
/ 30 октября 2009

Ваш обработчик событий действительно должен быть в классе страницы и не быть статичным. В идеале он должен быть защищен, но может быть публичным.

...