I think the important question is WHY did the user go from PageA to PageB? What do they do to cause this to happen?
Was it because they requested some different resource (a "get"), did they submit data to your server (i.e was it part of a "post"), does the user know that PageA is different to PageB (are they conceptually the same resource, but different views of it) or something else?
Other considerations such as whether PageB is accessible without PageA (can it be bookmarked, does it have it's own URL, should it be seen as a different URL in the browser?) will guide you.
It's hard to give you a "Best" solution without understanding this stuff.
As for using Server.Transfer or Response.Redirect, the difference of these two approaches has been covered here:
Server.Transfer Vs. Response.Redirect
Response.Redirect and Server.Transfer
When would I use Server.Transfer over PostBackURL?
Oh, and neither of these are appropriate for an ASP.NET MVC app where you should, instead, be routing to an Action on a Controller instead.
http://weblogs.asp.net/mikebosch/archive/2008/02/02/asp-net-mvc-tip-2-redirecting-to-another-action-and-passing-information-to-it.aspx
Redirect to action in other controller