Oracle APEX 页面之间传递值

Pass values between pages Oracle APEX

在应用程序的页面之间传输值时出现问题。我有2页,第一页有一个变量P9_ITEMID(当你运行第9页时,在这个变量SQL语句查询写入数据)。还有第二页181,我想把数据从变量P9_ITEMID移动到变量P181_ITEM。为此,我使用 'redirect to page in this application' 选项。但它不起作用。虽然我在变量 P9_ITEMID 中看到有数据。但是当你转到第 181 页时 P181_ITEM 是空的。我将不胜感激))

我也试过这样写P9 ITEMID中的值 我的代码:

 declare
v_empname items.id%type;
begin

  select id into v_empname 
    from items where id = :P9_ITEMID;
    
    apex_util.set_session_state('P9_ITEM_ID', v_empname);
    exception
    when others then
      apex_util.set_session_state('P9_ITEM_ID', null);
end;

我假设您已经创建了一个带有以下操作的按钮:'redirect to page in this application' 并且您希望将页面项目的会话值传递到目标页面。

当使用 link 构建器构建 url 时,link 是在页面呈现时构建的。它不会获取会话中的任何更改。即使您在动态操作中设置会话状态,它也不会拾取它,因为 url 已经呈现。

要获取该页面上的任何更改,必须在会话状态中设置页面项目值,这是由“页面处理”完成的。因此,如果您在按钮上使用“提交页面”并创建一个分支以重定向到页面,它将按照您想要的方式运行。