xPages - 寻呼机onClick事件问题

时间:2014-06-06 15:22:10

标签: events onclick xpages pager

我正在尝试将onClick事件放在dataView中的寻呼机上。我希望onClick事件更新sessionScope变量。我已经添加了代码并对其进行了测试,我无法让它工作。我制作了一个测试按钮并使用相同的onClick事件进行设置,并且变量已正确更新。

现在,如果我点击寻呼机它可以正常工作并通过dataView页面。但是,它不会更新sessionScope变量。可能导致这种情况的任何想法?

<xp:pager partialRefresh="true" id="pager8" xp:key="pagerBottomLeft"
                            styleClass="mblFooterLeft">
     <xp:this.rendered><![CDATA[#{javascript:isPagerDisplayed();
}]]></xp:this.rendered>

    <xp:pagerControl id="pagerControl2" type="Previous">

        <xp:eventHandler event="onclick" submit="true"
                 refreshMode="partial" refreshId="testLabel">
            <xp:this.action><![CDATA[#{javascript:incPagerDisplay(); 
                     sessionScope.pagerDisplay++;}]]></xp:this.action>
        </xp:eventHandler>

    </xp:pagerControl>
</xp:pager>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当您要求对 sessionScope 'd变量进行onClick事件更新时,从您的代码中可以看出,您的最终尝试是保存用户所在的页面状态,因此他们可以离开/返回并保留 sessionScope var。假设您正在尝试使用它,我建议您查看并使用xe:pagerSaveState control

Brad Balassaitis写了a blog post将其与数据视图一起使用,这可能会对您有所帮助。 Oliver Busse稍微调整了一下这个实现,demonstrates with his OSnippet;对SSJS电话的按摩。

这是Oliver's snippet

<xe:pagerSaveState id="pagerSaveState1" refreshId="theView" partialRefresh="true">
</xe:pagerSaveState>

<xp:this.beforePageLoad><![CDATA[#{javascript:viewStateBean.restoreState = true;}]]></xp:this.beforePageLoad>