Hejsan Response.Redirect är ett trick som skickar ett 302 "Object has moved" meddelande till klienten och sen talar om att objektet nu är på en annan plats. De flesta browsers följer direkt efter sådana meddelanden. Men inte alla.. Och att tillägga, en Server.Transfer kan inte hantera querystring eller liknande om sådan data måste skickas till nya sidan... Server.Transfer går även snabbare då den inte gör en rundtripp mot klienten så som redirect gör. Ang. Server.Transfer så fungerar t.ex. querystrings så vitt jag vet. Tackar, för svaren, Vill tillägga att t.ex data i en <b>form</b> som postats till en sida skickas med till den sidan man a nger i <b>Server.Transfer</b> medans den inte gör det med <b>Response.Redirect</b> Var lite otydlig. Sorry... Server.Transfer och/eller Response.Redirect
Server.Transfer() och Response.Redirect() vad är skillnaden?
När ska den ena användas och varför?
Undrar,
/JockeSv: Server.Transfer och/eller Response.Redirect
Server.Transfer sköter allt det där på servern. Dvs om du surfar till www.domain.se/default.aspx och i den gör en server transfer; så kommer användaren att tro att han / hon är kvar på exakt samma ställa som innan medans servern exekverar en helt annan sida.
Observera dock att server.transfer är lite buggig i asp.net 1.1.Sv:Server.Transfer och/eller Response.Redirect
Mvh JohanSv: Server.Transfer och/eller Response.Redirect
När du kör transfer kan du skicka följande:
Server.Transfer("url.aspx"); //Skickar vidare, skickar med aktuell post och querystring data
Server.Transfer("url.aspx?a=b"); //Som ovan fast med den querystring som står i url:en
Server.Transfer("url.aspx?a=b", true); //Som ovan
Server.Transfer("url.aspx?a=b", false); //Som ovan fast utan aktuell dataSv: Server.Transfer och/eller Response.Redirect
Har nu bättre förståelse om skillnaden
/JockeSv:Server.Transfer och/eller Response.Redirect
Sv:Server.Transfer och/eller Response.Redirect
Vad jag menade var att man inte kan se querystring datan vid en server.transfer. Då denna skickas på serversidan. Den exponeras inte i urlen så som en response.redirekt gör då denna går mot klienten. Detta kan medföra vissa problem vid koll av data som man vill ha tillstånd till. Det kan medföra lite debug-problem om man inte exponerar sin query så man ser att denna skapades rätt. Det går med Server.Transfer men är inte lika tydligt då man gömmer den på serversidan.
En annan nackdel är oxå att du hela tiden befinner dig på samma URL denna ändras inte, så det kan bli problem att även här göra vissa kontroller mot urlen. Så alltså om man vill exponera qerystrings så måste man anv'nda redirect då server.transfer inte gör detta.
Mvh Johan