2010-10-14 2 views
3

Я портирую приложение ASP.NET с 3.5SP1 до 4.0. Приложение отлично работает в 3.5SP1. В 4.0 я вижу разницу в поведении UpdatePanel.ASP.NET 4 Изменение изменения обновления Panel

У нас есть простой пользовательский элемент управления с тестовым полем, кнопкой и некоторым текстом. Пользовательский элемент управления находится внутри UpdatePanel с UpdateMode = «Условные» и ChildAsTriggers = «true».

Пользователи вводят текстовое поле и нажимают кнопку. Мы проводим поиск. Если мы что-то обнаружим, содержимое в другом месте страницы обновляется - это отлично работает. Если мы его не найдем, мы изменим текст в пользовательском элементе управления. Это изменение никогда не появляется.

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

Кто-нибудь видел это?

ответ

3

Моя проблема оказалась новым механизмом идентификации клиента 4.0. Ознакомьтесь с новыми функциями here.

4.0 По умолчанию используется значение «Наследовать», а «autoID» - это «старое» поведение. Добавив это к элементу страницы web.config:

clientIDMode="AutoID" 

моя проблема исчезла. Я не одинок в том, чтобы форсировать обратное поведение, но пока я не смогу сортировать все управляющие отношения, которые это должно будет сделать.

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