When we are requesting a new URL through Response.Redirect()
the new page wil open on the new browser window or it wil
open in the same window? If we use Server.Transfer() what
wil happen?



When we are requesting a new URL through Response.Redirect() the new page wil open on the new brow..

Answer / maloy.adhikari

In Both case Same window will open.
I have written the detail diff between two....
.......................................
Server.Transfer vs Response.Redirect:

A common misconception is the difference between
Server.Transfer and Response.Redirect in ASP.NET
applications. Redirect and Transfer both cause a new page to
be processed, but the interaction between the client (web
browser) and server (ASP.NET) is different in each situation.

Redirect: A redirect is just a suggestion – it’s like saying
to the client “Hey, you might want to look at this”. All you
tell the client is the new URL to look at, and if they
comply, they do a second request for the new URL.

If you want to pass state from the source page to the new
page, you have to pass it either on the URL (such as a
database key, or message string), or you can store it in the
Session object (caveat: there may be more than one browser
window, and they’ll all use the same session object).

e.g. Redirect to the page1.aspx page, passing an ID on the
query string. "true" stops processing the current page:

Response.Redirect("page1.aspx?id=100", true);




Transfer: A transfer happens without the client knowing –
it’s the equivalent of a client requesting one page, but
being given another. As far as the client knows, they are
still visiting the original URL.

Sharing state between pages is much easier using
Server.Transfer – you can put values into the Context.Items
dictionary, which is similar to Session and Application,
except that it lasts only for the current request. (search
for HttpContext in MSDN). The page receiving postback can
process data, store values in the Context, and then Transfer
to a page that uses the values.

e.g. Store a message in the context dictionary, and transfer
to the page2.aspx page (which can then display the message):

Context.Items["Message"] = "Your information was changed
successfully";
Server.Transfer("page2.aspx");




Caveats:

* Response.Redirect is more user-friendly, as the site
visitor can bookmark the page that they are redirected to.
* Transferred pages appear to the client as a different
url than they really are. This means that things like
relative links / image paths may not work if you transfer to
a page from a different directory.
* Server.Transfer has an optional parameter to pass the
form data to the new page.
* Since the release version, this no longer works,
because the Viewstate now has more security by default (The
EnableViewStateMac defaults to true), so the new page isn’t
able to access the form data. You can still access the
values of the original page in the new page, by requesting
the original handler:

Is This Answer Correct ?    2 Yes 1 No

Post New Answer

More ASP.NET Interview Questions

What are server-side comments in ASP.NET?

0 Answers   Winsol Solutions,


What is web api vs wcf?

0 Answers  


I have around 200+ controls in a page. Each of the sets of controls are kept in divs and when header div is clicked, only those div controls pertaining to that header div will be displayed. Rest of the divs are kept invisible. When the page loads, all these 200+ controls are loaded simultaneously, that consumes much of the time. What my requirement is I want to get the div1 controls loaded when the page loads and rest of the div controls should be loaded asynchronously. it should not be loaded with page load, so that time for loading the page can be much minimised. Hope u understood my question and pls help me out with a solution asap....

2 Answers  


How can you implement encapsulation in asp.net?

6 Answers   TCS,


Define static function?

0 Answers  






• What Session State providers are available in ASP.NET? What are the pros and cons of each?

2 Answers   Infosys,


Diff B/W user control and server control

3 Answers  


Can you explain architecture of your project ?

0 Answers  


Explain the difference between asp & asp.net.

0 Answers  


What are the validation controls available in ASP.NET?

0 Answers  


What is caching? What are the different types of caching?

6 Answers  


Why asp.net mvc is better than asp.net? : Asp.Net MVC

0 Answers  


Categories