2009-07-04 8 views
0

Я включил ретранслятор на свою главную страницу. У репитера есть кнопка, в которой я задал свой CommandArgument.Домашняя страница ASP.NET: ошибка проверки событий

Однако, когда я нажимаю кнопку, я получаю следующее исключение:

System.ArgumentException: Invalid или обратной передачи обратного аргумента. Проверка событий разрешена с использованием в конфигурации или <% @ Страница EnableEventValidation = "true"%> на странице. В целях безопасности эта функция проверяет, что аргументы для событий обратной передачи или обратного вызова берутся из серверного элемента управления, который их первоначально визуализировал. Если данные действительны и ожидаются, используйте метод ClientScriptManager.RegisterForEventValidation, чтобы зарегистрировать данные обратной передачи или обратного вызова для проверки.


И он не продолжает обработчик событий.

Примечание: Я попытался добавить эти строки в главной странице, но это не помогает:

protected override void Render(HtmlTextWriter writer) 
{ 
    Page.ClientScript.RegisterForEventValidation(rptrLanguages.ClientID); 
    base.Render(writer); 
} 

Спасибо.

ответ

3

Вы делаете привязку данных на этой странице? Если да, это происходит между проверкой! IsPostBack?

if (!IsPostBack) { // do databinding } 

Аналогичная проблема была упомянута here.

+0

Я потратил столько времени на эту глупую вещь :( Спасибо, человек! – Shimmy

+1

Это не было напрасно: вы ждали ответа Ахмада, и теперь у вас есть это, и он не повторит ту же ошибку. –