Я вызываю SP.UI.ModalDialog.showModalDialog () в функции javascript моей веб-части (SharePoint 2010), но диалоговое окно отображается на одну секунду, а затем закрывается.
Первоначально я хотел вызвать страницу sharepoint (в папке Layouts), но я тестирую с помощью простого диалога, чтобы убедиться, что это не ошибка на моей странице sharepoint.
В веб-части у меня есть таблица, в которой каждая первая строка ячейки является LinkButton. Я установил OnClientClick для вызова функции JavaScript:
linkButton.OnClientClick = string.Format("OpenNotationCurveDialog('{0}');",
notation.code);
В блоке скриптов веб-части ASCX у меня есть:
function OpenNotationCurveDialog(notationCode) {
var htmlElement = document.createElement('p');
var helloWorldNode = document.createTextNode('Hello world!');
htmlElement.appendChild(helloWorldNode);
var options = {
title: "Add item",
allowMaximize: true,
showClose: true,
width: 800,
height: 600,
html: htmlElement,
dialogReturnValueCallback: CurveDialog_ClosedCallback
};
SP.UI.ModalDialog.showModalDialog(options);
return false;
}
function CurveDialog_ClosedCallback(result, value) {
console.log('!! CurveDialog_ClosedCallback !!');
}
Функция CurveDialog_ClosedCallback никогда не вызывается.
В той же веб-части я добавил элемент в меню веб-частей, который вызывает функцию javascript SP.UI.ModalDialog.showModalDialog (): он работает отлично. Я не понимаю, почему он работает при вызове showModalDialog () из меню и не работает из события клиента LinkButton.
Есть идеи, как решить это очень раздражающее поведение?
ТНХ