javascript - HCL Domino 11 - Javascript - 文档提交后如何重定向到同一个文档?- 视图未刷新
问题描述
我有一个网络应用程序。使用documents.form[0].submit() 提交表单后,文档关闭。我需要在编辑模式下打开同一个文档,而不是关闭。我尝试通过 WebQuerySave 代理打印文档 URL。下面是我在代理中的代码,但这会打印最后一个文档而不是最后一个文档,因为视图没有刷新。我尝试添加 view.refresh 但它仍然得到最后一个文档。如何刷新视图并获取当前保存的文档 URL,或者是否有任何其他方式来获取当前保存的文档 URL?
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim dbview As NotesView
Dim docUnid As string
Set db = session.CurrentDatabase
Set dbview = db.Getview("(WorkOrders)")
Call dbview.Refresh()
Set doc = dbview.Getlastdocument()
docUnid = doc.Universalid
Print "[https://kclisd01/nibsport.nsf/(WorkOrders)/" & docUnid & "?editDocument]"
End Sub
解决方案
使用NotesSession.DocumentContext获取代理当前正在处理的文档。
Set doc = session.DocumentContext
如链接的帮助文档中所述:
对于使用@Command([RunAgent]) 或@Command[ToolsRunMacro] 从浏览器运行的代理,内存中的文档是当前文档。对于 WebQueryOpen,这是 Domino® 将其转换为 HTML 并将其发送到浏览器之前的文档;对于 WebQuerySave,这是 Domino® 保存它之前的文档。
推荐阅读
- c - 为什么输出会变成无穷大
- python - 如何消除 Python 中两个反向列表之间的复杂性?
- python - 如何在 python 中以 9 兆字节的块读取文件?
- c# - 确定 Windows 机器上的时间是否从服务器自动更新
- selenium - Selenium 找到元素,但由于缺少元素 ID 而无法与之交互
- sbt - 我可以在 SBT shell 中重置设置键的值吗
- c++ - 为单个线程强制执行语句的相对顺序
- angular - DatePipe 没有提供者
- javascript - 在商店 Ext Js 中制作过滤器
- powershell - 删除 PowerShell 版权打印输出并将 VBScript 结果的输出传输到 PowerShell 变量