xpages getDocument().getUniversalID()

Posted

技术标签:

【中文标题】xpages getDocument().getUniversalID()【英文标题】: 【发布时间】:2014-06-20 09:17:02 【问题描述】:

我只是想测试一下有关获取 UniversalID 的信息:

我创建了一个计算域:

 <xp:text escape="true" id="computedField3"
    value="#javascript:Cdoc.getDocument().getUniversalID()">
</xp:text>

当我撰写文档时。 Xpage 上的内容,计算字段已经有一些 UNID,如果我点击刷新,它会发生变化。在lotus notes编程中,只有保存当前文档才能获取UNID,默认值为@Text(@DocumentUniqueId)

我应该先保存 Cdoc 数据源以获得正确的 UNID 吗?我知道我错过了什么。

感谢您的宝贵时间

【问题讨论】:

【参考方案1】:

如果您在浏览器中刷新页面,那么实际上会创建一个新文档。这就是您获得不同 UNID 的原因。

根据您之前的问题,我知道您将 Cdoc 定义为使用的数据源

<xp:this.data>
    <xp:dominoDocument
        var="Cdoc"
        formName="fmPersContact">
    </xp:dominoDocument>
</xp:this.data>

这意味着每次打开此 XPage 时都会创建此 Cdoc。

更新:

此外,当您执行部分刷新并且文档尚未保存时,每次在服务器上计算您的字段时,您也会获得不同的 UNID。

【讨论】:

感谢您的回复。因此,在 xpages 开发中没有必要保存数据源(就像在 lotus notes 中一样:一个表单)来获取它的 UNID? 不,没有必要。您也可以在 LotusScript 中获得新创建但尚未保存的文档的 UNID。仅用于获取之前需要保存文档的 Noteid。 我注意到,当我只使用一些 getComponent('MyHeadacheDialog').show() 时,这个 UNID 也会发生变化......为什么? 可能是因为它会导致完全更新。不是 .show() 而是包含该代码的按钮。 我确实尝试了按钮的 refreshMode 属性中的部分参数,但是当我点击按钮时,我的问题中描述的计算字段值( UNID )仍然在发生变化。

以上是关于xpages getDocument().getUniversalID()的主要内容,如果未能解决你的问题,请参考以下文章

Android-8-Xpage

XPages 导航控件

XPages 中的 bootstrapValidator

XPage系列|这次升级后终于是全自动化注册了!

xpages gridx jsonREST 和查询/搜索

防止退格按钮导航回上一个 XPage