ASP.Net и jQuery – закрытие всплывающего окна
-
18-09-2019 - |
Вопрос
Я хочу закрыть всплывающее окно 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
.