めもです
やりたいこと
ボタンクリックで非同期で Apex の処理を実行し、完了後に VF にリダイレクトしたい。
例:自前のリストビューで指定のレコードを削除するボタンをクリックし、処理が完了したら画面を再読み込みしたい。
やりかた
<apex:commandLink value="レコード削除" action="{! deleteRecord }">
<apex:param name="foo" value="bar" assignTo="{! foobarVal }" />
</apex:commandLink>
public PageReference deleteRecord() {
// レコード削除処理
String routing = '/apex/MyVfPage';
PageReference newView = new PageReference(routing);
newView.setRedirect(true);
return newView;
}
クエリ文字列が必要な場合は末尾に /apex/MyVfPage?foo=bar
のように追加する。