1

当我在文档上创建文件下载控件时,我可以显示富文本字段中的附件。

在一个单独的过程中,我将更多文档附加到同一个文档中。我想定期刷新下载控制容器,看看有没有新的附件。我不想完全刷新页面。

我发现文件下载控制容器的 partialRefresh 以编程方式或手动方式都不会导致内容(可下载文件)被准确更新。

XSP.partialRefreshGet('view:_id1:fileDownload1')

屏幕的完整刷新显示新附加的文档,但我希望能够部分刷新面板容器并查看新文档而无需完整页面刷新。

我在面板中添加了一个 Random() 计算文本值,我可以看到它正在正确刷新。我什至查看了来自服务器的 xhr 响应,我可以看到正在进行更新——但其中没有新附件——“附加文件”在没有整页刷新的情况下不会刷新。

我只能假设这是 filedownload 控件的一个功能,因为它不知道除了页面加载之外的任何其他时间附加了新文件。

建议?

4

2 回答 2

2

部分刷新 XPage 时,不会重新加载数据源,只会恢复它们的最后状态(存储在内存或 hdd 中)。如果将数据源的范围更改为request,XPages 引擎将被迫重新创建数据源,而不是在每个请求(包括部分刷新)上使用缓存的数据源。

这应该允许您在不完全刷新的情况下刷新您的 fileDownload 控件。

于 2013-09-09T11:24:24.613 回答
1

马克,

是的,我以前遇到过这种情况。您必须对附件进行全面刷新。

http://xpagesblog.com/XPagesHome.nsf/Entry.xsp?documentId=FBAC0D921B677EA0852578CB006678D7

该链接相当旧,但我相信它仍然适用。

Matt White 在文章评论中说:“......目前基本上不可能通过 AJAX 发布文件附件,如果您不想刷新整个页面,则必须使用 Flash 或虚拟 iFrame 解决方案。因为据我所知,IBM 目前对此无能为力。马特”

于 2013-09-06T19:36:35.137 回答