Дизайн:
все элементы находятся в updatepanel
.
щелкните по списку <tr>
, чтобы запустить функцию JavaScript
для добавления новых <option>
в asp dropdownlist
.
Но,
когда я нажимаю на другие кнопки для обратного вызова на сервер, я получаю сообщение об ошибке:
Uncaught
Sys.WebForms.PageRequestManagerServerErrorException:
Sys.WebForms.PageRequestManagerServerErrorException:
Неверный аргумент обратной передачи или обратного вызова.
Проверка события включена с помощью
в конфигурации или <% @ Page
EnableEventValidation = "true"%> в
стр. В целях безопасности это
Функция проверяет, что аргументы
события обратного или обратного вызова происходят
из серверного элемента управления, который
Первоначально оказал их. Если данные
действителен и ожидается, используйте
ClientScriptManager.RegisterForEventValidation
метод для того, чтобы зарегистрировать
данные обратного или обратного вызова для
проверка.
Я понимаю проблему. Мне нужно сообщить серверной части об изменении выпадающего списка перед любым другим postback
.
Установите валидацию как false в этом случае не будет работать, выпадающий список все равно потеряет новый элемент.
Я провел некоторые исследования и возможные решения:
1) Используя ViewState? Request Form?
кто-нибудь может привести пример?
2) Добавить элемент выпадающего списка на стороне сервера. Но я хочу сделать всю строку tr clickable, чтобы запустить событие. Могу ли я нажать на TR и стрелять, например. его первый ребенок linkbutton
или linkbutton
где-то еще.
3) Я пробовал Jquery.ajax
и webmethod, он может запускать событие сервера, но, поскольку все методы static (shared)
, он не позволяет мне редактировать экземпляр downdownlist.
Любые решения будут полезны !!
С уважением,