2012-06-04 4 views
0

У меня есть страница ASP.NET, которая иногда не генерирует ожидаемый «WebForm_AutoFocus()» javascript, хотя я явно вызываю .Focus() на одном из элементов управления. Существуют ли какие-либо известные сценарии, в которых какой-то фактор предотвращает создание javascript?WebForm_AutoFocus не сгенерирован

В частности, когда пользователь нажимает на определенную кнопку, я создаю несколько новых элементов управления динамически: в этом случае текстовое поле. В OnPreRender я захватываю этот недавно созданный элемент управления и вызываю .Focus() на нем. Идея заключается в том, что после завершения обратной передачи браузер дает фокус новому созданному элементу управления текстовыми полями. Однако сгенерированный HTML (проверенный через firebug и fiddler) просто не содержит вызова WebForm_Autofocus.

В других сценариях одна и та же страница (при обратной передаче или при первом ударе) вызывает .Focus() на другом элементе управления - тот, который не динамически создан; в этих случаях сценарий WebForm_AutoFocus() генерируется отлично, и все хорошо.

К сожалению, я работаю над клиентской системой, которая поддерживает фреймворки LOVES в рамках фреймворков и абстракции при абстракциях, поэтому я не могу опубликовать содержательный/сжатый пример кода здесь. Однако, если какой-либо из моих дружелюбных SO'ers знает больше о генерации javascript «WebForm_AutoFocus» и сценариев, которые помешали бы ему генерировать, это обеспечило бы мне хорошее место для начала копания.

ответ

0

Вызов автофокуса включается только в том случае, если asp.net считает, что в этом есть необходимость. Установите кнопку по умолчанию на странице, чтобы asp.net знал, как сделать этот метод.

Смежные вопросы