__ doPostBack не определяется

Причины, почему селекторы на основе id не работают

  1. Элемент / DOM с указанным идентификатором еще не существует.
  2. Элемент существует, но он не является зарегистрированный в DOM [в случае, если HTML-узлы динамически добавляются из ответов Ajax].
  3. Присутствует более одного элемента с тем же идентификатором, который вызывает конфликт.

Решения

  1. Попробуйте получить доступ к элементу после его объявления или, альтернативно, использовать такие вещи, как $(document).ready();
  2. . Для элементов, исходящих из ответов Ajax, используйте метод .bind() для jQuery. В старых версиях jQuery для этого было .live().
  3. Используйте инструменты [например, плагин webdeveloper для браузеров], чтобы найти дубликаты идентификаторов и удалить их.
29
задан jmpena 13 August 2010 в 20:12
поделиться

3 ответа

__ doPostBack () должен автоматически включаться любым ASP.NET WebControl, который может вызвать ответную публикацию. Похоже, вы вызываете это вручную в каком-то написанном вами Javascript. Если это так, вам нужно будет включить WebControl, чтобы убедиться, что эта функция вставлена ​​на страницу.

10
ответ дан 28 November 2019 в 00:37
поделиться

Для меня это было то, что я использовал пользовательский Заголовок Агента пользователя из User-Agent: This is a Test, please ignore.

Это вызвано тем, что IIS Веб-формы ASP.NET генерирует веб-страницы в зависимости от Строки агента пользователя.

Для фиксации его я включал типы браузера плюс сообщение в конце, т.е.

User-Agent: Mozilla/5.0 (X11; Linux x86_64) Chrome/75.0.3770.80 (This is a Test, please ignore)

, И страница начала работать правильно снова.

0
ответ дан 28 November 2019 в 00:37
поделиться

Попробуйте вызвать метод RegisterRequiresPostBack . Это должно заставить среду выполнения ASP.NET включать код __doPostBack.

4
ответ дан 28 November 2019 в 00:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: