5

在使用新的 apex 5 版本时,我遇到了以下问题:

无法通过plsql获取页面项的值:

nv(:P2_TO, :P2_FROM) <<< DOESN'T WORK *I Yes P@_FROM exist and verified
nv(:P2_TO, 'test') <<< DOES WORK

我在 apex.oracle.com 上都试过了,我自己的主机都不起作用。

更多信息:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

2 回答 2

15

这很合乎逻辑。您正在引用变量的会话状态,它可能是空的。这并不是因为项目P2_TOP2_FROM在您的浏览器中的页面上有值,它们在会话状态中设置了值。例如,加载您的页面,在 中输入一个值P2_FROM。然后单击开发人员工具栏上的“会话”,您会看到P2_FROM.
会话状态中的值可能与实际网页上的值不同。

这就是为什么有附加属性“要提交的页面项目”与必须与数据库通信的操作(即向网络服务器执行 ajax 请求)的确切原因。这允许您定义必须将其值发送到服务器的项目,以便实际上您可以使用它们的值。

所以:对于这种类型的操作,添加P2_TO到“要提交的页面项目”列表中

于 2015-04-21T07:37:45.873 回答
2

你总是可以使用 apex util:

APEX_UTIL.set_session_state(p_name => 'PX_MY_ITEM', p_value => 'wibble');

示例 1

APEX_UTIL.set_session_state('P1_MY_ITEM','My Text Value');

示例 2

APEX_UTIL.set_session_state('P1_MY_OTHER_ITEM', 42);

示例 3

APEX_UTIL.set_session_state('P1_MY_OTHER_OTHER_ITEM', MY_PLSQL_VARIABLE);
于 2016-10-12T17:22:09.703 回答