__eventtarget установлен в ScriptManager id - PullRequest
0 голосов
/ 19 июля 2009

У меня есть несколько UpdatePanels на странице, каждая из которых заполнена довольно дорогими элементами управления. При асинхронной обратной передаче все UpdatePanel инициализируются, но клиенту отправляются только обновления UpdatePanel. Теперь я хотел бы инициализировать только UpdatePanel, который фактически требует обновления.

http://ryanfarley.com/blog/archive/2005/03/11/1886.aspx предлагает расшифровать параметр __EVENTTARGET, чтобы найти элемент управления, вызвавший обратную публикацию. forums.asp.net/p/1385862/2947336.aspx предлагает декодировать значение Request.Form, соответствующее уникальному идентификатору ScriptManager. Оба, кажется, работают нормально. Однако наша производственная система (IIS 6, .NET 3.5) часто сообщает о запросах, где для __EVENTTARGET задан уникальный идентификатор ScriptManager ( MyScriptManager ). В этих случаях параметр ScriptManager также декодируется в MyScriptManager | MyScriptManager вместо UpdatePanelId | EventTargetId .

Это наблюдалось для Firefox 3.0 и 3.5, а также для IE 6, 7 и 8. Однако я не смог воспроизвести его. У кого-нибудь есть подсказка, что заставляет браузеры наших клиентов отправлять эти значения обратно?

Ответы [ 2 ]

0 голосов
/ 19 июля 2009

Состояние истории ASP.NET AJAX вызывает такие запросы. Когда клиент использует наше веб-приложение, мы отслеживаем частичные обновления страницы, используя EnableHistory = "true" в ScriptManager. Если клиент нажимает кнопку «Назад» в своем браузере, ScriptManager инициирует асинхронный запрос, используя себя в качестве EventTarget.

0 голосов
/ 19 июля 2009

Вы пытались установить режим обновления панели обновления на "условный"? Я думаю, что это решит вашу проблему.

Больше информации здесь: http://codeclimber.net.nz/archive/2007/05/24/updatemode-default-value-for-the-updatepanel-is-always.aspx

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