UpdatePanel.Visible = true не действует

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

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

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

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

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

Ответов (4)

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

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

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

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

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