Включите проверку события в пользовательском веб-контроле - PullRequest
2 голосов
/ 31 мая 2010

У меня есть пользовательский веб-элемент управления, содержащий повторитель. Повторитель содержит три кнопки. При нажатии кнопки выдается следующая ошибка:

Invalid postback or callback argument.

Проверка события включена с помощью <pages enableEventValidation="true"/> в конфигурации или <%@ Page EnableEventValidation="true" %> на странице.

В целях безопасности эта функция проверяет, что аргументы для событий обратной передачи или обратного вызова исходят от серверного элемента управления, который первоначально их представил. Если данные верны и ожидаемы, используйте метод ClientScriptManager.RegisterForEventValidation, чтобы зарегистрировать данные обратной передачи или обратного вызова для проверки.

Поскольку пользовательский элемент управления не имеет директивы страницы, я изменил enableEventValidation на false в web.config, но это ограничило событие itemcommand ретранслятора.

Может кто-нибудь подсказать мне, как решить эту проблему?

1 Ответ

1 голос
/ 18 декабря 2012

Довольно старый вопрос, но недавно боролся с той же проблемой.

Решение состоит в том, чтобы поместить код, который привязывает данные к вашему повторителю, внутри кода, который будет работать, если PostBack не произошел для страницы:

        if (!Page.IsPostBack)
        {
            rptTeam.DataSource = lstUSTU;
            rptTeam.DataBind();
        }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...