0

作用域变量用于将选定的行数据 id 传递给显示更多详细信息的面板。这适用于链接列在视图控件中而不是数据表中的情况。下面的示例使用了一个requestScope,但我也尝试sessionScopeviewScope一个 dialogToolTip 版本的详细信息面板。在每种情况下,都会发生完全或部分刷新,但作用域变量始终为空。注意:数据表通常嵌套在选项卡式面板中,但我也在没有表嵌套的干净 XPage 上对其进行了测试,结果相同。带有扩展库的 Domino 8.5.3 版。

<xp:column id="column11">
    <xp:this.facets>
        <xp:label value="INVOICE NBR" id="label7" xp:key="header"
            style="font-weight:bold">
        </xp:label>
    </xp:this.facets>
    <xp:link escape="true" id="link1" value="#{id:column11}">
        <xp:this.text><![CDATA[#{javascript:return rowdoc.getItemValueString("StorInvID");}]]>
        </xp:this.text>
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:requestScope.invCompare = rowdoc.getItemValueString("StorInvID");}]]></xp:this.action>
        </xp:eventHandler>
    </xp:link>
</xp:column>
4

1 回答 1

1

在我之后重复: 客户端总是优先于服务器端:-)

xp:link 控件的 value 属性导致根本不执行服务器端事件。单击链接时,它只是对相关资源执行 HTTP GET。

因此,如果您删除 value 属性,则应该触发您的 onclick 服务器端事件。然后,您可以使用context.redirectToPage("pagename").

于 2013-03-13T19:24:15.777 回答