ASP.NET 按钮显示找不到我放入 OnClick 中的方法
-
22-07-2019 - |
题
我的主菜单上有一个注销按钮,我希望它运行一个注销方法。但是,我想将此方法作为静态方法存储在单独的类中,因为也可以从其他位置调用此代码。
编译器错误信息:
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>
有想法吗?
解决方案
您需要在代码隐藏处处理按钮单击,并让它调用其他类中的静态方法。
<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
其他提示
您的事件处理程序确实应该在页面类,而不是静态的。应,理想情况下,受保护的,但它可以是公共的。
不隶属于 StackOverflow