У меня есть пользовательский диалог, который открывает страницу ASPX с помощью следующего вызова:Закрытие модального диалога в Sitecore 7.1?
Sitecore.Context.ClientPage.ClientResponse.ShowModalDialog("/path/to/my/dialog.aspx");
До Sitecore 7.1, я был в состоянии закрыть модальное диалоговое окно и передать обратно значение, используя следующие JavaScript фрагмент кода:
if (window.opener) {
window.opener.top.returnValue = 'success';
}
window.returnValue = 'success';
window.close();
поскольку диалог мой использует страницу ASPX, я не имею роскошь использовать Sitecore.Context.ClientPage.ClientResponse.CloseWindow();
, чтобы закрыть его (так как Sheer рамки пользовательского интерфейса нет). К сожалению, мой пользовательский диалог очень сложный, и график моего проекта не позволяет мне переписать его в качестве приложения SPEAK UI.
Это, как говорится, вышеописанное обходное решение JavasScript перестало работать в Sitecore 7.1 в результате новых модальных диалогов с поддержкой jQuery. Мне интересно, знает ли кто, как закрыть модальный диалог Sitecore 7.1 и передать значение?
Отлично, это все трюк! Просто обратите внимание, что 'window.top.returnValue = 'success';' возвращает значение. –