将 DynamicControl 与外部数据库中的数据源一起使用

Using DynamicControl with datasource in an external database

我在使用此代码加载文档时遇到问题。

var c = getComponent("dynp")
c.show("contact",{action:'editDocument',documentId:unid})

或者实际上这只是一个烦人的问题。

我的 var unid 指向另一个数据库中的文档,但 c.show 希望该文档与 DynamicContent 代码位于同一数据库中。 因此我每次调用 c.show("contact",{action:'editDocument',documentId:unid})

都会出错

The error

dynp error mydynamic.xsp Exception occurred calling method NotesDatabase.getDocumentByUNID(java.lang.String)

自定义控件数据源是

<xp:dominoDocument formName="myForm" var="doc1" databaseName="#{javascript:getExternaldb()}" />

因此文档加载正确。 但我仍然遇到烦人的错误(管理员不高兴)

有没有办法避免这个错误?

我从来没有尝试过你正在做的事情。我真的不明白你想做什么。我什至从未看过 c.show 的动作部分。而且我很少使用 getComponent。

您有一个动态面板和一个可用的自定义控件吗?您正在尝试控制编辑模式与阅读模式吗?你为什么不设置一个 viewScoped 变量,比如 editMode=true / false。然后让自定义控件读入以确定模式。不需要那个动作业务...

您没有将数据库名称作为参数传递。如果没有 ignoreRequestParams,我很确定这将采用当前数据库,覆盖您放入数据源中的任何内容。

传入参数是否有效?