AWWW-1st3.6-w10.tresc-1.1-Slajd18
Nawigacja w aplikacjach ASP.NET
Formularze Web Forms (przetwarzane po stronie serwera – runat=”server”) po zatwierdzeniu wywołują same siebie. Jest to wygodne podejście z punktu widzenia np. walidacji danych i symulowania stanowego interfejsu użytkownika. W praktyce jednak aplikacje WWW obejmują wiele stron, między którymi następują warunkowe przekierowania. Reguły nawigacji są w ASP.NET najczęściej implementowane w kodzie strony, ewentualnie w pliku Code Behind.
Przekierowanie użytkownika do innej strony może być zrealizowane na dwa sposoby:
Response.Redirect() przekierowuje użytkownika do innej strony za pośrednictwem przeglądarki. Użytkownik ma świadomość, że ogląda inną stronę, gdyż wskazuje na to zmiana adresu URL w przeglądarce.
Server.Transfer() to przekierowanie odbywające się po stronie serwera. Jego wadą jest to, że z punktu widzenia przeglądarki nie nastąpiła zmiana adresu URL. Zalety to redukcja komunikacji między przeglądarką a serwerem oraz możliwość przekazania danych przez obiekt Context reprezentujący zasięg bieżącego żądania.
W przypadku Response.Redirect() przekazanie danych między stronami może się odbyć poprzez zasięg sesji lub zakodowanie ich jako parametrów wywołania w adresie URL. Wykorzystanie do tego celu zmiennych o zasięgu sesji może stanowić problem gdy użytkownik ma otwartych kilka okien przeglądarki dla tej samej aplikacji.