我有一个db,我将其称为db X,其中包含访问dbs A和B中数据的所有XPage编程。这仅用于Web访问,而不是用于Notes客户端。 db X中的一个主XPage在一个选项卡上的视图(viewA)中显示来自db A的数据,在另一个选项卡上显示来自db B(viewB)的数据。这很棒!但是,当我单击viewA中的doc时,它在另一个XPage中打开就好了,并且有一个过滤版本的viewB,它应该只显示db B中与db A相关的当前文档的文档。但它完全是空。如果我删除过滤器,它应显示db B中的所有文档,但仍为空。我已经验证了两个XPage上viewB的数据源是相同的。请注意,db A和db B位于同一服务器上,甚至位于同一文件夹中。 Db X与其他2在同一服务器上,但在另一个文件夹中(在另一个文件夹之上)。
为什么viewB在一个XPage中工作而不在另一个XPage中的任何想法?
答案 0 :(得分:3)
对于您的"嵌入式视图"数据源(docA中的viewB)将Domino视图数据源的ignoreRequestParams属性设置为true,以确保视图数据源不使用URL中存在的文档ID。
附加细节:在一个涉及"视图"的两页应用程序中。 XPage和"文档" XPage,当应用程序用户单击视图页面上的链接以打开文档页面上的文档时,将使用REQUEST参数传递要打开的文档的ID。您可以在文档页面的结果URL中看到这一点,该文档页面将打开要附加到URL地址的文档的ID,例如& documentId = 49530CA58D17CCE5852575150069D857& action = openDocument。当文档页面只有一个Domino文档数据源时,这非常有效。但是,在嵌入式视图应用程序中,"文档" XPage还将包含xe:dataView的数据源。如果对于Domino视图数据源(以及页面上的任何其他其他数据源),ignoreRequestParams不为true,则会评估请求中传递的参数以确定要在xe:dataView中显示的视图条目。这些请求参数指向的UNID不是视图所需的数据源,因此不会显示任何视图条目。