salesforce では、フォームに複数選択のピックリストを事前入力する URL を作成しようとしています。基本的に、アカウントの [新しいミーティング] ボタンを押すと、新しいイベントにリダイレクトされます。PageReference リダイレクトは、事前操作のパラメーターを含む URL を持つ PageReference インスタンスを返します。ただし、複数選択ピックリストには最初の選択のみが入力されています。例えば:
構築された URL の文字列:
url = 'https://cs11.salesforce.com/00U/e?00NZ0000000LdLp=401%28a%29&00NZ0000000LdLp=401%28k%29';
複数選択リストのフィールド ID は 00NZ0000000LdLp で、上記の URL で繰り返されているため、選択されたフィールドは 401(a) および 401(k) として入力されます。
その後、リダイレクト メソッドは以下を返します。
return new PageReference( url );
[新しい会議] ボタンをクリックすると、401(a) のみが選択されます。その組み込み URL をコピーしてアドレス バーに貼り付けるだけで、401(a) と 401(k) の両方が選択されます。PageReference がデータを切り取るのはなぜですか?