Jak przekierować z jednej strony ASP.NET do innej
Jak przekierować z jednej strony ASP.NET do innej („Webform2.aspx”) za pomocą przycisku?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
8 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Wywołanie Javascript jest wymagane, jeśli przycisk nie ma działania po stronie serwera.
onclick = "javascript: window.location.href = Webform2.aspx? Id = '& <% = Request.QueryString [" id "]% & > „
”dokona ponownego przekierowania po stronie serwera. to znaczy, przeglądarka będzie nadal wyświetlać po odpowiedzi z webform2. Webform1.aspx przekieruje żądanie do webform2, a webform2 wygeneruje req. (Wym. = 1, Rozdziel. = 1)
: webform1 wyśle odpowiedź z prośbą do przeglądarki o wysłanie nowego żądania do webform2. W takim przypadku przeglądarka zmieni adres URL, ponieważ tworzy nowe żądanie dla formularza internetowego 2. (Wymagane = 1 + 1, Rozdzielczość = 1 + 1)
Jest inny sposób, , jeśli jesteś zainteresowany. Prześlij tradycyjny formularz HTML.
Zapomniałem wspomnieć o najlepszej rzeczy - ogłaszaniu zwrotnym na wielu stronach z adresem URL PostBack.
http://aspdotnetcode.source-of ... .aspx
http://aspdotnetcode.source-of ... .aspx
Anonimowy użytkownik
Potwierdzenie od:
Możesz do tego użyć biblioteki JS (takiej jak jQuery), na przykład:
jQuery
ASP.NET
Lub, w sposób specyficzny dla ASP.NETesque, możesz użyć
jak sugeruje Antonio, który nadal używa skryptu po stronie klienta, ale oznacza, że nie musisz go pisać samodzielnie. Kod HTML przycisku jest renderowany w następujący sposób:
Jeśli masz inne przetwarzanie po stronie serwera, a potem musisz przekierować, użyj w module obsługi kliknięć.
Jeśli to nie zadziała, dodaj trochę więcej szczegółów do pytania, aby wyjaśnić, co się dzieje.
Anonimowy użytkownik
Potwierdzenie od:
To najłatwiejszy sposób
Anonimowy użytkownik
Potwierdzenie od:
Pamiętaj, że to drugie imię Twojej strony internetowej i Ciebie
Anonimowy użytkownik
Potwierdzenie od:
wysyła kod stanu HTTP 302 wskazujący
klient
przekieruj go do . Przeglądarka wyśle nowe żądanie , a adres URL zmieni się na pasku adresu.
https://msdn.microsoft.com/en-us/library/y4k58xk7(v=vs.110).aspx
kończy wykonywanie bieżącej strony i rozpoczyna wykonywanie nowej strony w określonej , tj.
wewnątrz
IIS. Dlatego adres URL w pasku adresu przeglądarki nie ulegnie zmianie. Strona, do której się wybierasz, musi być stroną
aspx
w tej samej witrynie.
Różnice są subtelne, ale ważne. Prostym sposobem na zastanowienie się nad tym jest zadanie sobie pytania „czy użytkownik powinien dodać ten adres URL do zakładek/ulubionych?” Użyj , jeśli adres URL się zmienił, a przyszłe odwiedziny treści powinny odbywać się pod nowym adresem URL. Użyj , jeśli adres URL jest poprawny i aktualny, ale tym razem musisz wyrenderować inną zawartość - być może wyświetlasz komunikat o błędzie lub potrzebujesz, aby użytkownik wprowadził swoje poświadczenia, aby kontynuować. Lub czy jest jakiś inny powód, dla którego zawartość powinna się zmienić, a adres URL nie powinien.
Dowolnego z powyższych można użyć w obsłudze zdarzeń kontrolki przycisku ASP.NET w kodzie:
Anonimowy użytkownik
Potwierdzenie od:
Metoda Response.Redirect przekierowuje żądanie do nowego adresu URL i określa nowy adres URL, natomiast metoda Server.Transfer dla bieżącego żądania kończy wykonywanie bieżącej strony i rozpoczyna wykonywanie nowej strony przy użyciu określonej ścieżki URL strony.
Zarówno Response.Redirect, jak i Server.Transfer mają tę samą składnię, na przykład:
Response.Redirect("UserDetail.aspx");
Server.Transfer("UserDetail.aspx");
Zanim przejdę do innych punktów, chcę wyjaśnić niektóre kody stanu HTTP, są one ważne dla zrozumienia głównych różnic między nimi. Kody stanu HTTP to kody używane przez serwer WWW do komunikacji z przeglądarką internetową lub agentem użytkownika.
Response.Redirect wysyła żądanie HTTP do przeglądarki, następnie przeglądarka wysyła to żądanie do serwera WWW, a następnie serwer WWW dostarcza odpowiedź do przeglądarki internetowej. Na przykład załóżmy, że znajdujesz się na stronie internetowej UserRegister.aspx i ma ona przycisk, który przekierowuje Cię do strony internetowej UserDetail.aspx.