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()的主要内容,如果未能解决你的问题,请参考以下文章