2

前のページにつながるはずの Visualforce ページにキャンセル ボタンを実装しようとしています。最初のページ (ようこそ) には、クリックされたリンクに基づいて link1 と link2 の 2 つのリンクがあり、ランディング visualforce ページの別のセクションがレンダリングされます。クリックされたリンクに基づいて、ウェルカム ページで apex:param を使用してパラメータを渡します。しかし、ランディング ページで受け取る値は常に null です。

ランディング ページには、ウェルカム ページにつながるキャンセル ボタンがあります。キャンセルをクリックすると、URL で渡されたクエリ パラメータのみが消え、同じページに残ります。

ここで何が欠けていますか?私はvisualforceを初めて使用するので、助けてください:)

4

1 に答える 1

0

ここで setRedirect さえ必要ないのではないかと強く思います。または、コントローラーのアクションメソッド。

簡単なもので最初の実験:

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

Immediateあらゆる種類の検証などをスキップします。Action通常のリンク、関数のような魔法のようなもの、URLFOR()またはコントローラーのアクション メソッドにリンクするマージ フィールドにすることができます (さらに{!save}、ページに standardController がある場合は、次のような特定の標準アクションを使用できます。

Salesforce 専用サイトの StackExchange サイトに、これと同様の質問がいくつかあります。https://salesforce.stackexchange.com/a/4242/799https://salesforce.stackexchange.com/a/4707/799を確認してください(URLFOR のもう少し高度な例を見たい場合)。


これが当てはまる理由については、ウェルカムページのコントローラー(特にコンストラクター)を投稿できるかもしれません。から値を読み取っていますか、PageReferenceそれとも最初のリクエストでパラメーター セッターが起動することを期待していますか? 両方のページが同じコントローラーまたはコントローラー拡張機能を共有していますか? 一般的に言えば、それはかなり大きなトピックです:)

于 2012-11-26T19:21:26.713 に答える