How to use Server.Transfer() with Ajax
Posted on 2009-07-13
We are having a problem using the Server.Transfer() method on a page that is using Ajax updating. Please excuse my somewhat limited knowledge of ASP.net, being I am an application developer, and have only recently started developing web apps. The web app I am designing requires a very high degree of security due to it's legal nature. To try and increase the security of the site, I do not want any page address, other than the login page itself to show up in the browser address bar, or current page source code if read by the users. They should have absolutely no knowledge of the structure of the site itself, and no way to directly go any page on the site, if not brought there in code, EVEN if they are logged in, including the use of the back button in the browser. Furthermore some page names will be generated dynamically using GUIDs. My understanding is that this can be accomplished by using the Server.Transfer() method, but when trying to use it with a page that contains Ajax update panels, we receive an error in the browser. I believe this is being caused by the panel expecting data to be returned and the method seems to confuse the panel. I have tried to flush the data, by manually updating the panel, and I have also tried to flush and clear the Response, nothing seems to work. Of course if I use the Response.Redirect() method it works, but then the page address shows up in the browser, which is exactly what I do not want.
Thanks is advance, and sorry about the verbose explanation.