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 回答