0

メインメニューにログアウトボタンがあり、ログアウトするメソッドを実行したいです。ただし、このコードは他の場所からも呼び出される可能性があるため、このメソッドを静的メソッドとして別のクラスに格納したいと考えています。

コンパイラ エラー メッセージ:

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>

アイデア?

4

2 に答える 2

2

コードビハインドでボタンクリックを処理し、他のクラスで静的メソッドを呼び出す必要があります。

    <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

于 2009-10-30T09:37:02.267 に答える
0

イベント ハンドラーは実際にはページ クラスにある必要があり、静的ではありません。理想的には保護する必要がありますが、公開することもできます。

于 2009-10-30T09:44:37.857 に答える