Как перекрыть OnClientItemSelected в autoCompleteExtender для каждого частичного обратной передачи?

100
13

Я использую элемент управления из моей общей библиотеки User Control, которая реализует AutoCompleteExtender.

Я разместил этот элемент управления на панели обновления.

Проблема, которую я испытываю, заключается в том, что свойство OnClientItemSelected для автокомплексора автоматически устанавливается на начальной загрузке страницы. На этом этапе свойство задает без проблем, поскольку динамический код в коде выполняется в обертке if (! IsPostback).

После частичной обратной передачи автокомплексор "забывает", что делать в событии "OnClientItemSelected" и перестает работать.

Если я жестко закодирую один из двух вариантов, для которых функция jScript выполняет OnClientItemSelected, это работает, но скрипт ScriptResource.axd сохраняет ошибки в отношении недопустимых аргументов, я предполагаю, потому что я пытаюсь подключить что-то, что страница думает, уже подключена хотя это не так.

В любом случае, если я принудительно устанавливаю настройку OnClientItemSelected, независимо от того, существует ли обратная связь или нет, элемент управления работает, но молчаливое падение ошибок JavaScript является одновременно уродливым и тревожным. Также я не хочу "ломать" общий элемент управления, если я могу его избежать.

Итак, как мне получить ScriptResource.axd, чтобы играть хорошо с автокомплексором, который восстанавливает свой OnClientClick при каждой частичной обратной передаче?

спросил(а) 2013-01-04T20:15:00+04:00 7 лет, 9 месяцев назад
1
Решение
115

Оказалось, что код перекодировки просто необходим, чтобы идти дальше в page_load. Я обнаружил это, объяснив проблему одному из моих коллег. Он попросил увидеть ошибку и заставил меня вырезать и вставить код из обложки if (! IsPostback), как в пятницу. Я сделал это, но в пятницу я переместил код перед оберткой. Он просто указал под оберткой и, не задумываясь об этом, наклеил ее ниже обертки. Затем код работал без ошибок.

Просто идет, чтобы показать... проблема, с которой связана проблема, иногда является проблемой.

ответил(а) 2013-01-07T13:56:00+04:00 7 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема