0

我正在关注这篇关于使用我的 ASP.NET 站点创建持久登录 cookie 的文章:

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.encrypt.aspx

问题是当我导航到该页面时,我收到以下编译器错误:

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

谁能告诉我这是为什么。错误消息并没有说太多,我不相信我缺少指令或程序集参考。代码构建没有任何问题。

编辑:我没有包含代码,因为我说我正在关注包含代码的链接。我从示例中复制/粘贴。

4

1 回答 1

5

这个例子实际上正确的,因为代码是内联的(在一个<script runat="server">块内)。ASP.NET 编译器使用包含的代码创建一个临时类,并将其编译为临时目录中的 DLL。由于事件处理程序被绑定在同一个生成的类中,它可以是私有的。

但是,如果您使用的是后面的代码,ASP.NET 编译器实际上会生成一个临时类,该类派生自您后面的代码中的那个。出于这个原因,事件处理程序需要是公共的或受保护的,以便子类可以访问它。

于 2013-07-03T05:01:37.027 回答