Jak używać Response.Redirect w programie ASP.NET przy użyciu programu Visual C# .NET

Wersja tego artykułu do programu Microsoft Visual Basic .NET można zobaczyć w .

W TYM ZADANIU

Streszczenie

W tym artykule przedstawiono sposób użycia metody przekierowania HttpResponse klasy w aplikacji ASP.NET do przekierowywania użytkownika do innego adresu URL.

Wymagania

Poniższej liście wyszczególniono zalecany sprzęt, oprogramowanie, infrastrukturę sieci i dodatki service pack, które są potrzebne:

  • Microsoft Windows 2000 lub Microsoft Windows XP

  • Microsoft.NET Framework

  • Microsoft Internet Information Server (IIS)

Tworzenie aplikacji ASP.NET sieci Web przy użyciu programu Visual C# .NET

Następująca procedura przedstawia sposób tworzenia nowego projektu aplikacji sieci Web ASP.NET o nazwie readresatora.

  1. Otwórz program Microsoft Visual Studio .NET.

  2. W menu plik wskaż polecenie Nowy, a następnie kliknij Projekt.

  3. W oknie dialogowym Nowy projekt w obszarze Typy projektów, kliknij przycisk Projekty Visual C#. W obszarze Szablonykliknij Aplikacji sieci Web ASP.NET.

  4. W polu tekstowym Lokalizacja wpisz readresatora. Jeśli używasz lokalnego serwera, można pozostawić nazwę serwera jako http://localhost , tak, że Lokalizacja pola tekstowego jest ustawiona na http://localhost/Redirector.

Opis metody HttpResponse.Redirect

HttpResponse klasy implementuje dwie wersje przeciążone metody przekierowania .

  • Pierwsza przeciążona metoda ma tylko jeden parametr wejściowy, który jest adres URL miejsca docelowego. Ta wersja jest zdefiniowany w następujący sposób:

    public void Redirect(string url); 
  • Drugi przeciążona metoda przyjmuje dwa parametry wejściowe: adres URL miejsca docelowego, a wartość logiczną, która wskazuje, czy zatrzymanie bieżącej strony. Ta wersja jest zdefiniowany w następujący sposób:

    public void Redirect(string url, bool endResponse);

Użycie pierwszej wersji przeciążony, druga wersja przeciążony jest wywoływana wewnętrznie i jest przekazywana boolean wartość true dla drugiego parametru wejściowego. Aby uzyskać więcej informacji na temat klasy HttpResponse i jego odpowiednich metod można znaleźć w sekcji odniesienia .

Tworzenie przykładu pracy

Ten przykład demonstruje sposób implementacji metody przekierowania w zdarzeniu Page_Load strona związana z kodem. Ten kod implementuje pierwszy przeciążony wersji, który jest wymieniony w poprzedniej sekcji.

  1. Wykonaj następujące kroki, aby dodać nowy formularz sieci Web o nazwie Redirector_Test.aspx:

    1. W oknie Solution Explorer kliknij prawym przyciskiem myszy węzeł projektu, wskaż polecenie Dodaj, a następnie kliknij Dodaj formularz sieci Web.

    2. Nazwa strony .aspx Redirector_Test.aspx, a następnie kliknij przycisk Otwórz.

  2. W edytorze kliknij prawym przyciskiem myszy stronę .aspx, a następnie kliknij Widok Kod. Spowoduje to otwarcie strony kodem w edytorze.

  3. Dodaj następujący kod do zdarzenia Page_Load :

    Response.Redirect("http://www.microsoft.com");
  4. W menu plik kliknij polecenie Zapisz wszystko do zapisania formularza sieci Web i innych plików powiązanych projektów.

  5. W programu Visual Studio .NET zintegrowanego rozwoju środowiska (IDE), w menu Tworzenie kliknij przycisk Konstruuj do budowania projektu.

  6. W oknie Solution Explorer kliknij prawym przyciskiem myszy stronę, a następnie kliknij Widok w przeglądarce , aby uruchomić strony. Należy zauważyć, że strona zostanie otwarta w przeglądarce i automatycznie przekierowuje do witryny firmy Microsoft w sieci Web.

Rozwiązywanie problemów

  • Jeśli użytkownik próbuje przekierować po nagłówki są wysyłane do przeglądarki, pojawi się wyjątek. Aby rozwiązać ten problem, należy użyć właściwości HttpResponse.BufferOutput do buforowania danych wyjściowych, gdy jest to konieczne. Ta właściwość jest ustawiona na wartość True domyślnie.

    Aby uzyskać więcej informacji na temat właściwości HttpResponse.BufferOutput można znaleźć w sekcji odniesienia .

  • Podczas korzystania z tej metody może zostać ThreadAbortException wyjątek. Aby uzyskać dodatkowe informacje, kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

    PRB: ThreadAbortException występuje wtedy, gdy używasz Response.End, Response.Redirect lub metody Server.Transfer

Powiązane artykuły

Więcej informacji można znaleźć w następujących tematach w dokumentacji programu Microsoft.NET Framework Software Development Kit (SDK):





jest dobrym źródłem dla artykułów, gazet i inne informacje związane z programem ASP.NET.

Samouczki dotyczące.NET Framework oraz programu Visual Studio .NET należy odwołać się do następującej witryny firmy Microsoft w sieci Web:

Wprowadzenie do programu ASP.NET odwiedź następującą witrynę firmy Microsoft w sieci Web:

Samouczki programu ASP.NET

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×