当我在文档上创建文件下载控件时,我可以在富文本字段中显示附件。
在一个单独的过程中,我将更多文档附加到同一文档中。我想定期刷新下载控件容器,看看是否有新的附件。我不想对页面进行全面刷新。
我发现文件下载控件容器的partialRefresh无论是以编程方式还是手动方式都不会导致内容(可下载文件)被准确更新。
XSP.partialRefreshGet('view:_id1:fileDownload1')
完全刷新屏幕会显示新附加的文档,但我希望能够部分刷新面板容器,并在没有完整页面刷新的情况下查看新文档。
我在面板中添加了一个Random()计算文本值,我可以看到它正在刷新。我甚至看过服务器的xhr响应,我可以看到有更新 - 但没有新的附件 - 如果没有整页刷新,“附加文件”就不会刷新。
我只能假设这是filedownload控件的一个功能,因为它不知道除了页面加载之外的任何其他时间都附加了新文件。
建议?
答案 0 :(得分:2)
部分刷新XPage时,不会重新加载数据源,只会恢复其最后一个状态(存储在内存或硬盘中)。如果将数据源的范围更改为 request ,则XPages引擎将被强制重新创建数据源,而不是在每个请求上使用缓存的数据源(包括部分刷新)。
这样可以让您在没有完全刷新的情况下刷新fileDownload控件。
答案 1 :(得分:1)
Marky,
是的,我之前遇到过这种情况。您必须使用附件进行完全刷新。
http://xpagesblog.com/XPagesHome.nsf/Entry.xsp?documentId=FBAC0D921B677EA0852578CB006678D7
链接相当陈旧,但我相信它仍然适用。
Matt White在文章评论中说:“......基本上目前无法通过AJAX发布文件附件,如果您不希望整个页面使用,则必须使用Flash或虚拟iFrame解决方案刷新。据我所知,目前IBM无法做到这一点。 马特“