Co to jest formularze sieci Web

ASP.NET Web Forms jest częścią platformy aplikacji internetowej ASP.NET i jest dołączona do programu Visual Studio. Jest to jeden z czterech modeli programowania, których można użyć do tworzenia ASP.NET aplikacji internetowych, a pozostałe to ASP.NET MVC, ASP.NET stron internetowych i ASP.NET aplikacje jednostronicowe.

Formularze sieci Web to strony, których użytkownicy żądają przy użyciu przeglądarki. Te strony można pisać przy użyciu kombinacji kodu HTML, skryptu klienta, kontrolek serwera i kodu serwera. Gdy użytkownicy żądają strony, jest ona kompilowana i wykonywana na serwerze przez platformę, a następnie platforma generuje znaczniki HTML, które może renderować przeglądarka. Strona ASP.NET Web Forms zawiera informacje dla użytkownika w dowolnej przeglądarce lub urządzeniu klienckim.

Za pomocą programu Visual Studio można utworzyć ASP.NET Web Forms. Zintegrowane środowisko projektowe (IDE) programu Visual Studio umożliwia przeciąganie i upuszczanie kontrolek serwera w celu opracowania strony formularzy internetowych. Następnie można łatwo ustawić właściwości, metody i zdarzenia dla kontrolek na stronie lub dla samej strony. Te właściwości, metody i zdarzenia służą do definiowania zachowania strony internetowej, wyglądu i działania itd. Aby napisać kod serwera do obsługi logiki dla strony, możesz użyć języka .NET, takiego jak Visual Basic lub C#.

Uwaga / Notatka

ASP.NET i dokumentacja programu Visual Studio obejmuje kilka wersji. Tematy, które podkreślają funkcje z poprzednich wersji, mogą być przydatne w przypadku bieżących zadań i scenariuszy korzystających z najnowszych wersji.

ASP.NET formularzy sieci Web są następujące:

  • W oparciu o technologię firmy Microsoft ASP.NET, w której kod uruchamiany na serwerze dynamicznie generuje dane wyjściowe strony internetowej do przeglądarki lub urządzenia klienckiego.
  • Zgodność z dowolną przeglądarką lub urządzeniem przenośnym. Strona internetowa ASP.NET automatycznie renderuje prawidłowy kod HTML zgodny z przeglądarką dla funkcji, takich jak style, układ itd.
  • Zgodność z dowolnym językiem obsługiwanym przez środowisko uruchomieniowe języka wspólnego platformy .NET, takim jak Microsoft Visual Basic i Microsoft Visual C#.
  • Opiera się na Microsoft .NET Framework. Zapewnia to wszystkie zalety struktury, w tym środowisko zarządzane, bezpieczeństwo typów i dziedziczenie.
  • Elastyczne, ponieważ można dodawać do nich kontrolki utworzone przez użytkownika i kontrolki innych firm.

oferta ASP.NET Web Forms:

  • Separacja kodu HTML i innego kodu interfejsu użytkownika z logiki aplikacji.
  • Rozbudowany zestaw kontrolek serwera dla typowych zadań, w tym dostępu do danych.
  • Zaawansowane powiązanie danych dzięki doskonałej obsłudze narzędzi.
  • Obsługa skryptów po stronie klienta wykonywanych w przeglądarce.
  • Obsługa różnych innych funkcji, w tym routingu, zabezpieczeń, wydajności, internacjonalizacji, testowania, debugowania, obsługi błędów i zarządzania stanami.

ASP.NET Formularze internetowe pomagają przezwyciężyć wyzwania

Programowanie aplikacji internetowych stanowi wyzwania, które zwykle nie występują podczas programowania tradycyjnych aplikacji klienckich. Wśród wyzwań są następujące:

  • Implementowanie rozbudowanego internetowego interfejsu użytkownika — projektowanie i implementowanie interfejsu użytkownika przy użyciu podstawowych obiektów HTML może być trudne i żmudne, zwłaszcza jeśli strona ma złożony układ, dużą ilość zawartości dynamicznej i w pełni funkcjonalne obiekty interaktywne dla użytkowników.
  • Separacja klienta i serwera — w aplikacji internetowej klient (przeglądarka) i serwer są różne programy często działające na różnych komputerach (a nawet w różnych systemach operacyjnych). W związku z tym dwie połowy aplikacji mają bardzo mało informacji; mogą komunikować się, ale zazwyczaj wymieniają tylko małe fragmenty prostych informacji.
  • Wykonywanie bezstanowe — gdy serwer sieci Web odbiera żądanie dla strony, znajduje stronę, przetwarza ją, wysyła do przeglądarki, a następnie odrzuca wszystkie informacje o stronie. Jeśli użytkownik ponownie zażąda tej samej strony, serwer powtarza całą sekwencję, ponownie przetwarzając stronę od podstaw. Mówiąc inaczej, serwer nie ma pamięci stron, które zostały przetworzone — strona jest bezstanowa. W związku z tym, jeśli aplikacja musi przechowywać informacje o stronie, jej bezstanowy charakter może stać się problemem.
  • Nieznane możliwości klienta — w wielu przypadkach aplikacje internetowe są dostępne dla wielu użytkowników przy użyciu różnych przeglądarek. Przeglądarki mają różne możliwości, co utrudnia utworzenie aplikacji, która będzie działać równie dobrze na wszystkich z nich.
  • Komplikacje związane z dostępem do danych — odczytywanie ze źródła danych i zapisywanie w tradycyjnych aplikacjach internetowych może być skomplikowane i intensywnie obciążające zasoby.
  • Komplikacje związane ze skalowalnością — w wielu przypadkach aplikacje internetowe zaprojektowane z istniejącymi metodami nie spełniają celów skalowalności ze względu na brak zgodności między różnymi składnikami aplikacji. Często jest to typowy punkt awarii aplikacji w dużym cyklu wzrostu.

Sprostanie tym wyzwaniom w przypadku aplikacji internetowych może wymagać znacznego czasu i nakładu pracy. ASP.NET formularze sieciowe i platforma ASP.NET sprostają tym wyzwaniom w następujące sposoby:

  • Intuicyjny, spójny model obiektów — struktura strony ASP.NET przedstawia model obiektów, który umożliwia myślenie o formularzach jako jednostki, a nie jako oddzielnych elementów klienta i serwera. W tym modelu można programować stronę w bardziej intuicyjny sposób niż w tradycyjnych aplikacjach internetowych, w tym możliwość ustawiania właściwości elementów strony i reagowania na zdarzenia. Ponadto ASP.NET kontrolki serwera są abstrakcją od fizycznej zawartości strony HTML i bezpośredniej interakcji między przeglądarką a serwerem. Ogólnie rzecz biorąc, można użyć kontrolek serwera w sposób, w jaki można pracować z kontrolkami w aplikacji klienckiej i nie trzeba myśleć o tym, jak utworzyć kod HTML do prezentowania i przetwarzania kontrolek i ich zawartości.
  • Model programowania opartego na zdarzeniach — ASP.NET web forms przenieść do aplikacji internetowych znany model zapisywania procedur obsługi zdarzeń dla zdarzeń występujących na kliencie lub serwerze. Struktura strony ASP.NET abstrahuje ten model w taki sposób, że podstawowy mechanizm przechwytywania zdarzenia na kliencie, przesyłania go na serwer i wywoływania odpowiedniej metody jest automatycznie i niewidoczny dla Ciebie. Wynikiem jest jasna, łatwo napisana struktura kodu, która obsługuje programowanie sterowane zdarzeniami.
  • Intuicyjne zarządzanie stanem — struktura strony ASP.NET automatycznie obsługuje zadanie obsługi stanu strony i jej kontrolek oraz zapewnia jawne sposoby utrzymania stanu informacji specyficznych dla aplikacji. Jest to realizowane bez dużego użycia zasobów serwera i można je zaimplementować z użyciem plików cookie lub bez wysyłania plików cookie do przeglądarki.
  • Aplikacje niezależne od przeglądarki — platforma stron ASP.NET umożliwia tworzenie całej logiki aplikacji na serwerze, eliminując konieczność jawnego kodowania różnic w przeglądarkach. Jednak nadal umożliwia korzystanie z funkcji specyficznych dla przeglądarki przez napisanie kodu po stronie klienta w celu zapewnienia lepszej wydajności i bogatszego środowiska klienta.
  • Obsługa środowiska uruchomieniowego języka wspólnego programu .NET Framework — struktura strony ASP.NET jest oparta na programie .NET Framework, więc cała struktura jest dostępna dla dowolnej aplikacji ASP.NET. Aplikacje można pisać w dowolnym języku zgodnym ze środowiskiem uruchomieniowym. Ponadto dostęp do danych jest uproszczony przy użyciu infrastruktury dostępu do danych udostępnianej przez program .NET Framework, w tym ADO.NET.
  • Wydajność skalowalnego serwera programu .NET Framework — struktura stron ASP.NET umożliwia skalowanie aplikacji internetowej z jednego komputera z jednym procesorem do farmy sieci Web z wieloma komputerami i bez skomplikowanych zmian logiki aplikacji.

Funkcje ASP.NET Web Forms

  • Kontrolki serwera — kontrolki serwera sieci Web ASP.NET to obiekty na stronach sieci Web ASP.NET, które działają, gdy strona jest żądana, i które generują kod znaczników dla przeglądarki. Wiele kontrolek serwera sieci Web jest podobnych do znanych elementów HTML, takich jak przyciski i pola tekstowe. Inne kontrolki obejmują złożone zachowanie, takie jak kontrolki kalendarza i kontrolki, których można użyć do nawiązywania połączenia ze źródłami danych i wyświetlania danych.
  • Strony wzorcowe — ASP.NET strony wzorcowe umożliwiają tworzenie spójnego układu stron w aplikacji. Pojedyncza strona wzorcowa definiuje wygląd i działanie oraz standardowe zachowanie, które ma być używane dla wszystkich stron (lub grupy stron) w aplikacji. Następnie można utworzyć poszczególne strony zawartości zawierające zawartość, którą chcesz wyświetlić. Gdy użytkownicy żądają stron zawartości, te scalają się ze stroną wzorcową, aby utworzyć wynik, który łączy układ strony wzorcowej z zawartością strony zawartości.
  • Praca z danymi — ASP.NET oferuje wiele opcji przechowywania, pobierania i wyświetlania danych. W aplikacji ASP.NET Web Forms używasz kontrolek powiązanych z danymi, aby zautomatyzować prezentację lub wprowadzanie danych w elementach interfejsu użytkownika strony internetowej, takich jak tabele i pola tekstowe i listy rozwijane.
  • Członkostwo — ASP.NET Identity przechowuje poświadczenia użytkowników w bazie danych utworzonej przez aplikację. Gdy użytkownicy logują się, aplikacja weryfikuje swoje poświadczenia, odczytując bazę danych. Folder Konto projektu zawiera pliki implementujące różne części członkostwa: rejestrowanie, logowanie, zmienianie hasła i autoryzacja dostępu. Ponadto ASP.NET Web Forms obsługuje uwierzytelnianie OAuth i openID. Te ulepszenia uwierzytelniania umożliwiają użytkownikom logowanie się do witryny przy użyciu istniejących poświadczeń, z takich kont jak Facebook, Twitter, Windows Live i Google. Domyślnie szablon tworzy bazę danych członkostwa, używając domyślnej nazwy bazy danych na wystąpieniu SQL Server Express LocalDB, serwera bazy danych dostarczanego wraz z Visual Studio Express 2013 for Web.
  • Skrypt klienta i struktury klienta — można ulepszyć funkcje ASP.NET oparte na serwerze, włączając funkcje skryptu klienta na stronach formularza internetowego ASP.NET. Możesz użyć skryptu klienta, aby zapewnić użytkownikom bogatszy, bardziej dynamiczny interfejs użytkownika. Skrypt klienta umożliwia również wykonywanie wywołań asynchronicznych na serwerze sieci Web, gdy strona jest uruchomiona w przeglądarce.
  • Routing — routing URL umożliwia skonfigurowanie aplikacji do akceptowania adresów URL żądań, które nie mapują się na pliki fizyczne. Adres URL żądania to po prostu adres URL, który użytkownik wprowadza w przeglądarce, aby znaleźć stronę w witrynie internetowej. Routing służy do definiowania adresów URL, które są semantycznie istotne dla użytkowników i które mogą pomóc w optymalizacji aparatu wyszukiwania (SEO).
  • Zarządzanie stanem — ASP.NET Web Forms zawiera kilka opcji, które ułatwiają zachowanie danych zarówno dla poszczególnych stron, jak i dla całej aplikacji.
  • Zabezpieczenia — ważną częścią tworzenia bezpieczniejszej aplikacji jest zrozumienie zagrożeń. Firma Microsoft opracowała sposób kategoryzowania zagrożeń: fałszowanie, manipulowanie, odrzucanie, ujawnianie informacji, odmowa usługi, podniesienie uprawnień (STRIDE). W ASP.NET web forms można dodawać punkty rozszerzalności i opcje konfiguracji, które umożliwiają dostosowywanie różnych zachowań zabezpieczeń w ASP.NET Web Forms.
  • Wydajność — wydajność może być kluczowym czynnikiem w udanej witrynie sieci Web lub projekcie. ASP.NET Web Forms umożliwia modyfikowanie wydajności związanej z przetwarzaniem strony i serwerem, zarządzaniem stanem, dostępem do danych, konfiguracją aplikacji i ładowaniem oraz wydajnymi praktykami kodowania.
  • Internationalization — ASP.NET Web Forms umożliwia tworzenie stron internetowych, które mogą uzyskiwać zawartość i inne dane na podstawie preferowanego ustawienia języka dla przeglądarki lub na podstawie jawnego wyboru języka użytkownika. Zawartość i inne dane są określane jako zasoby, a takie dane mogą być przechowywane w plikach zasobów lub innych źródłach. Na stronie ASP.NET Web Forms skonfigurujesz kontrolki w celu pobrania ich wartości właściwości z zasobów. W czasie wykonywania wyrażenia zasobów są zastępowane przez zasoby z odpowiedniego zlokalizowanego pliku zasobów.
  • Debugowanie i obsługa błędów — ASP.NET zawiera funkcje ułatwiające diagnozowanie problemów, które mogą wystąpić w aplikacji Web Forms. Obsługa debugowania i błędów jest dobrze obsługiwana w ASP.NET Web Forms, dzięki czemu aplikacje kompilują i działają efektywnie.
  • Wdrażanie i hosting — program Visual Studio, ASP.NET, platforma Azure i usługi IIS udostępnia narzędzia ułatwiające proces wdrażania i hostowania aplikacji Web Forms.

Podejmowanie decyzji o tym, kiedy utworzyć aplikację formularzy internetowych

Należy dokładnie rozważyć, czy zaimplementować aplikację internetową przy użyciu modelu ASP.NET Web Forms lub innego modelu, takiego jak struktura ASP.NET MVC. Struktura MVC nie zastępuje modelu formularzy sieci Web; Możesz użyć jednej ze struktur dla aplikacji internetowych. Przed podjęciem decyzji o użyciu modelu formularzy sieci Web lub platformy MVC dla określonej witryny sieci Web należy rozważyć zalety każdego podejścia.

Zalety aplikacji internetowej opartej na formularzach Web

Platforma oparta na formularzach internetowych oferuje następujące korzyści:

  • Obsługuje ona model zdarzeń, który zachowuje stan za pośrednictwem protokołu HTTP, co zapewnia korzyści z tworzenia aplikacji internetowych biznesowych. Aplikacja oparta na formularzach internetowych udostępnia dziesiątki zdarzeń obsługiwanych w setkach kontrolek serwera.
  • Używa wzorca kontrolera strony, który dodaje funkcjonalność do poszczególnych stron. Aby uzyskać więcej informacji, zobacz Kontroler strony.
  • Używa stanu widoku lub formularzy opartych na serwerze, co może ułatwić zarządzanie informacjami o stanie.
  • Działa dobrze dla małych zespołów deweloperów i projektantów sieci Web, którzy chcą korzystać z dużej liczby składników dostępnych do szybkiego tworzenia aplikacji.
  • Ogólnie rzecz biorąc, tworzenie aplikacji jest mniej złożone, ponieważ składniki (klasa strony , kontrolki itd.) są ściśle zintegrowane i zwykle wymagają mniej kodu niż model MVC.

Zalety aplikacji internetowej opartej na MVC

Platforma ASP.NET MVC oferuje następujące korzyści:

  • Ułatwia zarządzanie złożonością, dzieląc aplikację na model, widok i kontroler.
  • Nie wykorzystuje stanu widoku ani formularzy opartych na serwerze. Dzięki temu platforma MVC jest idealna dla deweloperów, którzy chcą mieć pełną kontrolę nad zachowaniem aplikacji.
  • Używa wzorca Front Controller, który przetwarza żądania aplikacji internetowej przez jeden kontroler. Dzięki temu można zaprojektować aplikację, która obsługuje zaawansowaną infrastrukturę routingu. Aby uzyskać więcej informacji, zobacz Kontroler frontu.
  • Zapewnia lepszą obsługę programowania opartego na testach (TDD).
  • Działa dobrze w przypadku aplikacji internetowych, które są obsługiwane przez duże zespoły deweloperów i projektantów sieci Web, którzy potrzebują wysokiego stopnia kontroli nad zachowaniem aplikacji.