xpages重定向到页面并关闭当前对话框

xpages重定向到页面并关闭当前对话框,xpages,xpages-ssjs,xpages-extlib,Xpages,Xpages Ssjs,Xpages Extlib,我的按钮代码: <xp:button value="Raport" id="button1" styleClass="lotusFormButton" style="float:right;"> <xp:eventHandler event="onclick" submit="true" refr

我的按钮代码:

    <xp:button value="Raport" id="button1" styleClass="lotusFormButton"
                            style="float:right;">
                            <xp:eventHandler event="onclick"
                                submit="true" refreshMode="complete" immediate="false"
                                save="true" id="eventHandler2">
                                <xp:this.action><![CDATA[#{javascript:context.redirectToPage("export_hidden.xsp");
getcomponent('exampleDialog').hide()}]]></xp:this.action>
                            </xp:eventHandler>
                        </xp:button>

它只需转到
导出隐藏的.xsp
(用于创建excel文件的XAgent),但不关闭对话框

我试着扭转这两个动作,但结果相同


非常感谢您抽出时间。

如果我正确理解您的意思,您希望向用户发送附件,但保持在同一页上。附件交付后,关闭对话框

上面的问题是,您的代码试图同时做两件事。关闭对话框并交付附件。这是不可能的

我看到两种解决方案,我会尝试

  • 删除getcomponent('exampleDialog').hide()并通过在oncomplete事件中单击第二个隐藏按钮来执行该操作

  • 如果不起作用,请在对话框中的隐藏iframe中将url设置为export_hidden.xsp,并单击打开按钮关闭对话框


  • 如果我理解正确,您希望向用户发送附件,但保持在同一页上。附件交付后,关闭对话框

    上面的问题是,您的代码试图同时做两件事。关闭对话框并交付附件。这是不可能的

    我看到两种解决方案,我会尝试

  • 删除getcomponent('exampleDialog').hide()并通过在oncomplete事件中单击第二个隐藏按钮来执行该操作

  • 如果不起作用,请在对话框中的隐藏iframe中将url设置为export_hidden.xsp,并单击打开按钮关闭对话框


  • 在eventHandler的onComplete事件中添加对
    XSP.closeDialog('.{id:exampleDialog}')
    的客户端调用。

    在eventHandler的onComplete事件中添加对
    XSP.closeDialog('.{id:exampleDialog}')
    的客户端调用。

    在对话框上执行CSJ,并对其进行部分更新,同时执行context.Topage(xAgentName)可以工作,Domino9.0.1FP9。

    在对话框上进行CSJ的部分更新,以及上下文。redirectToPage(xAgentName)可以工作,Domino9.0.1FP9。

    在onComplete事件工作中客户端调用XSP.closeDialog('.{id:exampleDialog}')吗?@PerHenrikLausten:它工作了!:-)谢谢!那么,现在我应该接受弗雷德里克的解释吗?或者,如果您要添加一个答案,我会将其标记为已接受的答案。让我添加一个答案:-)客户端调用onComplete事件工作中的XSP.closeDialog(“#{id:exampleDialog}”)是否有效?@PerHenrikLausten:有效!:-)非常感谢。那么,现在我应该接受弗雷德里克的解释吗?或者,如果你要添加一个答案,我会将其标记为已接受的答案。让我添加一个答案,然后:-)你好!我对所描述的问题有相同的背景,但是即使将命令放在按钮的oncomplete上,问题也没有得到解决。仅当您未通过对话框中所需参数的验证时,此选项才有效。如果输入参数,将生成excel,但对话框未关闭。您好!我找到了一个解决方案:替换view.postScript(“window.open(“+myurl+”)”)的context.redirectToPage,这样它就可以使用SSJS命令:Var c=getComponent(“xxxx”);C.hide();你好我对所描述的问题有相同的背景,但是即使将命令放在按钮的oncomplete上,问题也没有得到解决。仅当您未通过对话框中所需参数的验证时,此选项才有效。如果输入参数,将生成excel,但对话框未关闭。您好!我找到了一个解决方案:替换view.postScript(“window.open(“+myurl+”)”)的context.redirectToPage,这样它就可以使用SSJS命令:Var c=getComponent(“xxxx”);C.hide();