持久登录

本文关键字:登录 | 更新日期: 2023-09-27 18:20:51

我正在阅读这篇关于用我的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?)

有人能告诉我为什么会这样吗?错误消息并没有说明太多,我也不认为我缺少指令或程序集引用。代码构建没有任何问题。

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

持久登录

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

但是,如果使用代码隐藏,ASP.NET编译器实际上会生成一个临时类,从代码隐藏中的类派生。因此,事件处理程序需要是公共的或受保护的,这样子类才能访问它。