2013-07-03 4 views
0

Я выполняю эту статью о создании постоянные куки для входа с моим сайтом ASP.NET:Стойкие Логины

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?)

Может ли кто-нибудь сказать мне, почему это так. Сообщение об ошибке на самом деле мало говорит, и я не считаю, что мне не хватает ссылки на директиву или сборку. Код создается без каких-либо проблем.

EDIT: я не включал код, потому что я сказал, что следую этой ссылке, которая включает в себя код. Я копирую/вставляю из примера.

+0

Показать свой код –

+2

Удостоверьтесь, что этот метод является общедоступным или защищенным, а подпись правильная .. –

+0

Проверьте мои изменения о коде. – Trido

ответ

5

exampleФактически правильный, поскольку код является встроенным (в пределах блока <script runat="server">). Компилятор ASP.NET создает временный класс с включенным кодом и компилирует его в DLL в каталоге temp. Поскольку обработчики событий связаны внутри одного и того же сгенерированного класса, он может быть закрытым.

Однако, если вы используете код позади, компилятор ASP.NET фактически генерирует временный класс, который выводит из того, что находится в вашем коде. По этой причине обработчик событий должен быть общедоступным или защищенным, чтобы доступ к нему мог выполняться подклассом.

+0

Я не осознавал различия, спасибо, что просветил меня! Я добавил код C# в код. – Trido