当url具有查询参数时,salesforce中的setRedirect不起作用



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

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

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

我强烈怀疑您在这里甚至不需要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/799和https://salesforce.stackexchange.com/a/4707/799(如果您想查看URLFOR的高级示例)。


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

最新更新