Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法阻止在SharePoint Web部件中关闭ModalDialog_Sharepoint_Web Parts_Modal Dialog - Fatal编程技术网

Can';无法阻止在SharePoint Web部件中关闭ModalDialog

Can';无法阻止在SharePoint Web部件中关闭ModalDialog,sharepoint,web-parts,modal-dialog,Sharepoint,Web Parts,Modal Dialog,我正在我的Web部件(SharePoint 2010)的javascript函数中调用SP.UI.ModalDialog.showModalDialog(),但该对话框会出现一秒钟,然后自动关闭。 最初,我想调用sharepoint页面(在Layouts文件夹中),但我正在使用一个简单的对话框进行测试,以确保它不是sharepoint页面中的错误 在Web部件中,我有一个表,其中每个第一个单元格行都是一个链接按钮。我已将OnClientClick设置为调用javascript函数: linkBu

我正在我的Web部件(SharePoint 2010)的javascript函数中调用SP.UI.ModalDialog.showModalDialog(),但该对话框会出现一秒钟,然后自动关闭。
最初,我想调用sharepoint页面(在Layouts文件夹中),但我正在使用一个简单的对话框进行测试,以确保它不是sharepoint页面中的错误

在Web部件中,我有一个表,其中每个第一个单元格行都是一个链接按钮。我已将OnClientClick设置为调用javascript函数:

linkButton.OnClientClick = string.Format("OpenNotationCurveDialog('{0}');",
                    notation.code);
在web部件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\u ClosedCallback。 在同一个Web部件中,我在Web部件菜单中添加了一个元素,该元素调用javascript函数SP.UI.ModalDialog.showModalDialog():它工作得非常好。我不明白为什么从菜单中调用showModalDialog()时它会工作,而从LinkButton客户端事件中它却不工作

你知道如何解决这个恼人的行为吗?
thx

可能发生的情况是,linkbutton执行回发,以便重新加载页面,导致对话框消失。请尝试使用简单的锚定标记。我有相同的想法:使用简单的锚定标记可以正常工作。您知道我可以用什么asp控件替换LinkButton来设置客户端事件吗?当用户单击asp:table单元格时,我需要调用我的javascript函数。如果您确实需要在服务器端工作,您可以始终将锚点标记声明为runat=“server”,并将其作为HtmlAnchor()使用。但是,似乎完全在客户端进行调用更容易,使用jquery或类似的方法设置连接。是否需要转到服务器端?是的,因为行(也包括单元格)是在服务器端创建的。我保留了LinkButton,只设置了:LinkButton.OnClientClick=string.Format(“OpenNotationCurveDialog('{0}');return(false);”,notation.code);