UpdatePanel.Visible = true не имеет никакого эффекта - PullRequest
5 голосов
/ 26 февраля 2009

Есть широкая задача. Имеется панель обновления upDetails, в которой отображается таблица с подробностями (initialy visible = false) когда пользователь выбирает какой-либо элемент из основной таблицы, мы должны установить upDetails.Visible = true;

Но это не сработает в каком бы месте / событии я не разместил - ни BL-методы, ни предварительный рендеринг. Это все еще будет невидимым

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

Что я делаю не так?

Заранее спасибо

Ответы [ 4 ]

9 голосов
/ 26 февраля 2009

Вы говорите об элементе управления ASP.NET Ajax UpdatePanel ? Попробуйте поместить «настоящий» элемент управления Panel (asp: Panel) внутри UpdatePanel, установите для этого элемента управления значение false / true и оставьте UpdatePanel видимым.

3 голосов
/ 27 мая 2011

Если видимость панели обновления установлена ​​в значение false, она не отображается на выходе. Не будучи отрендеренным, он не существует на стороне клиента, где он не может быть использован (не событие ajax).

Использование заполнителя - решение вашей проблемы.

2 голосов
/ 04 февраля 2010

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

1 голос
/ 04 марта 2009

Вы должны убедиться, что панель управления, содержащая вашу панель, видна. Если это не так, установка свойства visible в элементе управления updatepanel ничего не изменит, поэтому вам необходимо убедиться, что элемент управления контейнера виден ПЕРВЫМ.

...