【问题标题】:xpages how to force a partial refresh afterPageLoadxpages如何在PageLoad之后强制部分刷新
【发布时间】:2013-08-19 20:42:03
【问题描述】:

几个月前我问过这个问题,但没有任何回应,所以我想我会再试一次。我有一个 SSJS 块,它可以操作多个值。有一些计算字段会受到这些更改的影响,并且无法正确显示。我在 XPage 上有一个刷新按钮,它会进行部分刷新,之后一切正常。我需要以某种方式触发特定项目(在本例中为面板)的部分刷新,作为 SSJS 中 afterPageLoad 的最后一步。 有什么想法吗?

谢谢

【问题讨论】:

  • 您的 SSJS 在哪里运行,它正在改变什么值?

标签: xpages xpages-ssjs partial-page-refresh


【解决方案1】:

在没有按钮、链接或类似内容的情况下从 SSJS 刷新面板有点棘手。

但我认为您的问题更多地位于您尝试计算字段的顺序上,在呈现这些字段之前如何在错误事件中触发您的代码,以避免首先显示错误的值,maby发布一些示例代码。

如果您只想在页面加载 bean 后再次刷新面板,请在 onClientLoad ClientEvent 中尝试此操作,这也可以解决它:

    <xp:eventHandler event="onClientLoad" submit="false">
        <xp:this.script><![CDATA[dojo.ready(function(){
    XSP.partialRefreshGet('#{id:yourPanel}',{})

});]]></xp:this.script>
    </xp:eventHandler>

【讨论】:

  • 我的问题是我在 beforePageLoad 事件期间从它查找的配置文件文档中将一堆值加载到页面上的控件中(尝试使用相同结果的 afterPageLoad) - 这一切正常。我在 XPage 上有按钮,这些按钮是根据从配置文件文档中加载的值呈现或不呈现的。但是在我从按钮手动刷新 panelAll 之前,按钮无法正确呈现。从那时起,一切都运行良好。所以正如你所说,我认为问题与事件的顺序有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多