2

我正在尝试在 Visualforce 页面中实现一个取消按钮,该按钮应该指向上一页。第一个页面(欢迎)有两个链接 link1 和 link2 基于点击的链接,呈现了登陆 visualforce 页面的不同部分。我根据单击的链接在欢迎页面中使用 apex:param 传递参数。但是,我在登录页面中收到的值始终为空。

登陆页面有一个取消按钮,该按钮应该指向欢迎页面。单击取消时,只有在 URL 中传递的查询参数会消失并保留在同一页面上。

我在这里想念什么?请帮忙,因为我是 visualforce 的新手 :)

4

1 回答 1

0

我强烈怀疑您在这里甚至不需要 setRedirect 。或控制器中的操作方法。

首先尝试一些简单的东西:

<apex:commandButton action="/apex/welcomePage?param1=foo&param2=bar" 
    immediate="true" 
    value="Cancel" />

Immediate跳过您可能拥有的任何类型的验证等。Action可以是普通链接,更神奇的URLFOR()功能或链接到控制器操作方法的合并字段(加上某些标准操作{!save},如果您在页面上有标准控制器,则可以使用。

在 Salesforce 专用站点 StackExchange 站点上有几个与此类似的问题。检查https://salesforce.stackexchange.com/a/4242/799https://salesforce.stackexchange.com/a/4707/799(如果您想查看更高级的 URLFOR 示例)。


至于为什么会出现这种情况 - 也许您可以发布欢迎页面的控制器(尤其是构造函数)。您是从 中读取值,PageReference还是希望参数设置器在初始请求时触发?两个页面是否共享相同的控制器或控制器扩展?一般来说,这是一个相当大的话题:)

于 2012-11-26T19:21:26.713 回答