我有一个显示如下客户列表的网址:
http://domain.com/pls/apex/f?p=724:2:820875406836801:::::
显示客户列表,标题链接到Page3&请求已有CustomerId
当我点击网址http://domain.com/pls/apex/f?p=724:3:21712451478201::NO:RP,3:P3_CUSTOMER_ID:82
时,第3页正确加载了所选客户的详细信息。但“更新”和“删除”操作按钮永远不会起作用。
但是,如果我单击浏览器刷新按钮,然后尝试执行更新或删除,则可以正常工作。
我不知道哪里出错了。有人可以给我提示吗?
我没有在我的网址链接定义中使用BRANCH_TO_PAGE_ACCEPT
。
答案 0 :(得分:2)
看起来您在第2页的网址中对会话ID进行了硬编码:
http://domain.com/pls/apex/f?p=724:2:820875406836801:::::
会话ID为820875406836801,而:
http://domain.com/pls/apex/f?p=724:3:21712451478201::NO:RP,3:P3_CUSTOMER_ID:82
会话ID已神秘地更改为21712451478201.我不确定,但我怀疑您已在第2页的报告中对会话ID进行了硬编码。这会导致创建新的登录会话当第3页打开时(也许这就是为什么更新/删除按钮不起作用 - 但你没有告诉我们错误信息是什么,所以我不确定);刷新页面可能正在恢复会话。
如果我是对的,您需要解决此问题的方法是在第2页的报告中使用会话变量(&SESSION.
),而不是对其进行硬编码,例如:
http://domain.com/pls/apex/f?p=724:3:&SESSION.::NO:RP,3:P3_CUSTOMER_ID:82
答案 1 :(得分:0)
问题在于网址的创建方式。首先,我不应该只设置1个(标题)作为网址。它应该是整个div。如下所示。
<li><div style="">
<a href="f?p=&APP_ID.:2:&SESSION.::NO::P2_PK_PROJECT_ID:#LINK#" rel="external">
<h3>#TITLE#</h3>
<p><strong>#BOLD_TEXT#</strong></p>
<p>#PLAIN_TEXT#</p>
</a></div>
</li>
创建了包含上述代码的报告行模板。此模板在我的“客户列表”页面中使用。现在每个客户都是一个链接(标题,名称等)。链接href也是硬编码的。请注意,我正在传递ProjectID:#LINK ## LINK#指的是类似1,2等的值
现在点击此按钮,正确加载第2页并应用更改&amp;现在可以点击删除按钮。