The most proper way to construct a redirect `PageReference` is to use the `StandardController.view` method. In this case, you need to also construct the record itself with the `varCaseId`. PageReference view = new ApexPages.StandardController(new Case(Id=varCaseId)).view(); return view; You don't even need to cache it, I just do so here because I find it more illustrative. As [@Ilya](http://salesforce.stackexchange.com/users/30686/ilya-lepesh) mentions in the comments, you want to replace `return null` with this at the end of your `upload` method. For custom `Visualforce Pages`, the programmatic approach would be: PageReference detail = Page.CaseDetail; detail.getParameters().put('id', varCaseId); return detail;