My use case was--> referenced a void method in the action attribute on an apex:page In the void method, check for a condition. if true, do nothing, else call a pagereference method to redirect to another page.

I tried using a void method here since the general opinion seems to be that using a pagereference method and returning null is bad programming.

But this didnt work, the page never redirected when expected. The same logic with a pagereference returning null works fine.

1 Answer 1


IN your specific case where it could return a pagereference or not based on a condition, using a pagereference as a return type is the proper way to do it.

The only time having a signature that returns a pagereference is "bad programming" is when it ALWAYS returns null;

  • Thank you for your response and verifying this. Although I'm still wondering if they DONT allow pagereference method calls from within void methods. Will assume they don't (from what I experienced through my attempt), regardless, marking as accepted.
    – arlon
    Aug 14, 2015 at 18:35
  • 1
    If the return type of the initial method is void, you cannot return a pagereference. Even if your method calls another method that does return a pagereference. The other method would be returning that the the original method and the original method would still return void to the page....
    – Eric
    Aug 14, 2015 at 20:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .