2014-01-28 4 views
3

У меня есть пользовательский диалог, который открывает страницу 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 и передать значение?

ответ

5

Вы можете позвонить window.top.dialogClose();

Это должно сделать трюк.

+2

Отлично, это все трюк! Просто обратите внимание, что 'window.top.returnValue = 'success';' возвращает значение. –

Смежные вопросы