xpages我应该使用设置为true的ignorerequestParams吗

xpages我应该使用设置为true的ignorerequestParams吗,xpages,Xpages,基于这些问题: 不幸的是,我注意到,如果我点击refresh/F5,一些存储UNID的计算字段正在改变 我的XPage定义了一个数据源(Cdoc),它包含一个显示对话框的按钮。此对话框定义了其他数据源(Pdoc)。该对话框包含多个字段,这些字段从Cdoc继承一些值 我应该为其中一个数据源使用ignorerequestParams属性吗?你能解释一下这个财产的含义吗 发生了什么: 显示对话框并创建一些Pdoc并将其列在XPage(Cdocdatasource)内的viewPanel中,然后点击

基于这些问题:

不幸的是,我注意到,如果我点击refresh/F5,一些存储UNID的计算字段正在改变

我的XPage定义了一个数据源(
Cdoc
),它包含一个显示对话框的按钮。此对话框定义了其他数据源(
Pdoc
)。该对话框包含多个字段,这些字段从
Cdoc
继承一些值

我应该为其中一个数据源使用
ignorerequestParams
属性吗?你能解释一下这个财产的含义吗

发生了什么:

显示对话框并创建一些
Pdoc
并将其列在XPage(
Cdoc
datasource)内的
viewPanel
中,然后点击
F5
Cdoc UNID后,存储
Cdoc的UNID的字段正在更改。。。即使是计算出来的

此外,如果文件
isNewNote()
url是这样的:

server/Test.nsf/doc.xsp?action=newDocument 
即使在我调用
Cdoc.save()
之后。我认为这可能是当我点击refresh=>创建一个新文档时,存储UNID的computedField发生变化的原因

同时,我将
ignoreRequestParams
设置为
true
,仅用于对话框(
Pdoc


谢谢你的时间

默认情况下,UNID和操作(打开、创建、编辑)由URL查询字符串定义,即请求参数。使用requestParamPrefix,您可以定义查询字符串中用于查找此数据源的文档参数的条目。默认情况下,这是documentId。但是,如果您想通过代码管理UNID并自己执行操作,则需要设置ignoreRequestParams=“true”


如果页面上有两个数据源,则需要在其中一个数据源上使用ignoreRequestParams或requestParamPrefix。如果不是,则在两个数据源中编辑同一个文档。

因此,是否可以仅为对话框设置ignoreRequestParams=“true”?我在一个页面上没有两个数据源。我不认为我理解你的答案(我的错,我是XPages开发的新手),这就是我将我的场景放在问题中的原因,考虑到我在理解一些一般概念时有一些困难。@MFGFlay其实很简单:在URL“override”中请求参数默认情况下,数据源的未定义属性。属性ignoreRequestParams完全关闭该数据源的此行为。属性requestParamPrefix将“侦听”URL中的不同前缀参数。您可以说您有两个数据源,CDoc和PDoc。这是两个不同的Notes文档还是同一个Notes文档。听起来像是后者。@PaulStephenWithers:Cdoc和Pdoc试图充当两个不同的文档。Cdoc还有一个视图面板,其中列出了所有Pdoc文档。Pdoc是通过显示一个对话框从Cdoc/xpages创建的(该对话框本身就是Pdoc)