Server.Transfer call with query string calls current page instead of the given page
===

didn't have much luck finding out much about this one...

I have an ASP page that is called from code somewhere else with a query string:

    [domainpath]/FulfilmentReceipt.aspx?fulfilmentId=226F7486-3D30-439D-92BB-94972234A809

In the Page_Load there's a Server.Transfer call that should move the response execution to another page with a different query string (the Format below appears to work fine BTW):

    Server.Transfer(String.Format("confirmationReceipt.aspx?bId={0}&f={1}&print=true", basketId, franchiseeId)))

The bit I don't understand comes next. The transfer call appears to get routed back to FulfilmentReceipt.aspx, the first page, but with the new query string. This then causes an error as the fulfilmentId part of the query string is now missing. Why does this not call into confirmationReceipt as expected?

I can confirm that confirmationReceipt page is never called by debugging into the process and that fulfilmentReceipt is loaded twice. There is no code at all in the Global.asax file so no routing there and the confirmationReceipt page itself has no Redirect or Transfer calls and is pretty simple.

Additionally the error page rendered in the browser's address bar shows the new query string but as part of the orginal URL. I had thought that the URL seen should not alter as a result of Server.Transfer.

Any ideas?

Many thanks.