Вопрос

Я хочу закрыть всплывающее окно ShadowBox, когда пользователь нажимает кнопку.Всплывающее окно показывает отдельную страницу в Iframe.Это отлично работает с событием на стороне клиента в элементе управления «Отмена», например.

OnClientClick="javascript:parent.Shadowbox.close();"

Однако кнопка «ОК» имеет событие на стороне сервера, поскольку данные необходимо сохранить.Когда я определяю обработчик OnClick и OnClientClick сверху, IFrame закрывается, а обработчик событий на стороне сервера никогда не срабатывает.

Я попытался удалить обработчик событий OnClientClick из разметки и использовать для этого ClientScriptManager, как в

Page.ClientScript.RegisterStartupScript(this.GetType(),
  "Close", "parent.Shadowbox.close();", true);

Видимо, поскольку кнопки находятся в UpdatePanel, скрипт не регистрируется и не отображается в потоке ответов.IPanel остается открытой.

Как я могу это сделать?

Это было полезно?

Решение

Когда вы используете элементы управления MS AJAX, вам необходимо зарегистрировать свои сценарии с помощью ScriptManager, нет ClientScript.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top