Кажется, я помню, что эта ошибка может возникнуть, если вы нажмете кнопку / ссылку и т. Д. До полной загрузки страницы.
В этом случае ошибка вызвана функцией ASP.net 2.0, которая называется Проверка события. Это функция безопасности, которая гарантирует, что действия обратной передачи происходят только из событий, разрешенных и созданных сервером, чтобы помочь предотвратить поддельные обратные передачи. Эта функция реализована с помощью элементов управления, регистрирующих допустимые события при их рендеринге (как, например, во время их реальных методов Render ()). Конечным результатом является то, что в нижней части вашего рендеринга
тег формы, вы увидите что-то вроде этого:
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="AEBnx7v.........tS" />
Когда происходит обратная передача, ASP.net использует значения, хранящиеся в этом скрытом поле, чтобы убедиться, что нажатая кнопка вызывает допустимое событие. Если он недействителен, вы получите исключение, которое вы видели.
Проблема, с которой вы сталкиваетесь, возникает, в частности, при обратной передаче до отображения поля EventValidation. Если EventValidation включен (что по умолчанию), но ASP.net не видит скрытое поле при обратной передаче, вы также получаете исключение. Если вы отправите форму до того, как она будет полностью обработана, то, скорее всего, поле EventValidation еще не было обработано, и поэтому ASP.net не может подтвердить ваш щелчок.
Конечно, можно обойти это, просто отключив проверку событий, но вы должны знать о последствиях для безопасности. В качестве альтернативы, просто никогда не отправляйте обратно, пока форма не закончит рендеринг. Конечно, это сложно сказать пользователям, но, возможно, вы могли бы отключить пользовательский интерфейс до тех пор, пока форма не отобразится?
из http://forums.asp.net/p/955145/1173230.aspx