Sdílet prostřednictvím


Co je Web Forms

ASP.NET Web Forms je součástí architektury ASP.NET webových aplikací a je součástí sady Visual Studio. Je to jeden ze čtyř programovacích modelů, které můžete použít k vytváření ASP.NET webových aplikací. Ostatní jsou ASP.NET MVC, ASP.NET webové stránky a ASP.NET jednostránkové aplikace.

Web Forms jsou stránky, které uživatelé požadují ve svém prohlížeči. Tyto stránky lze psát pomocí kombinace html, klientského skriptu, serverových ovládacích prvků a kódu serveru. Když uživatelé požadují stránku, je zkompilována a spuštěna na serveru rozhraním a pak rozhraní vygeneruje kód HTML, který může prohlížeč vykreslit. Stránka ASP.NET Web Forms zobrazí informace uživateli v libovolném prohlížeči nebo klientském zařízení.

Pomocí sady Visual Studio můžete vytvořit ASP.NET Web Forms. Integrované vývojové prostředí (IDE) sady Visual Studio umožňuje přetažením serverových ovládacích prvků rozložit stránku Web Forms. Pak můžete snadno nastavit vlastnosti, metody a události pro ovládací prvky na stránce nebo pro samotnou stránku. Tyto vlastnosti, metody a události slouží k definování chování, vzhledu a chování webové stránky atd. K napsání kódu serveru pro zpracování logiky stránky můžete použít jazyk .NET, jako je Visual Basic nebo C#.

Poznámka

ASP.NET a dokumentace k sadě Visual Studio zahrnuje několik verzí. Témata, která upozorňují na funkce z předchozích verzí, mohou být užitečná pro aktuální úlohy a scénáře, které používají nejnovější verze.

ASP.NET Web Forms jsou:

  • Založené na technologii Microsoft ASP.NET, ve které kód spuštěný na serveru dynamicky generuje výstup webové stránky do prohlížeče nebo klientského zařízení.
  • Kompatibilní s jakýmkoli prohlížečem nebo mobilním zařízením. Webová stránka ASP.NET automaticky vykreslí správný kód HTML kompatibilní s prohlížečem pro funkce, jako jsou styly, rozložení atd.
  • Kompatibilní s libovolným jazykem podporovaným modulem CLR .NET, jako je Microsoft Visual Basic a Microsoft Visual C#.
  • Vytvořeno na rozhraní Microsoft .NET Framework. To poskytuje všechny výhody architektury, včetně spravovaného prostředí, zabezpečení typů a dědičnosti.
  • Flexibilní, protože k nim můžete přidávat ovládací prvky vytvořené uživatelem a ovládací prvky třetích stran.

ASP.NET Web Forms nabídka:

  • Oddělení kódu HTML a dalšího kódu uživatelského rozhraní od logiky aplikace.
  • Bohatá sada serverových ovládacích prvků pro běžné úlohy, včetně přístupu k datům.
  • Výkonná datová vazba se skvělou podporou nástrojů.
  • Podpora skriptování na straně klienta, které se spouští v prohlížeči.
  • Podpora řady dalších funkcí, včetně směrování, zabezpečení, výkonu, internacionalizace, testování, ladění, zpracování chyb a správy stavu

ASP.NET Web Forms vám pomůže překonat výzvy

Programování webových aplikací představuje výzvy, které při programování tradičních klientských aplikací obvykle nenastávají. Mezi výzvy patří:

  • Implementace bohatého webového uživatelského rozhraní – Návrh a implementace uživatelského rozhraní pomocí základních funkcí HTML může být obtížné a zdlouhavé, zejména pokud má stránka složité rozložení, velké množství dynamického obsahu a plně funkční objekty s uživatelsky interaktivními objekty.
  • Oddělení klienta a serveru – Ve webové aplikaci jsou klient (prohlížeč) a server různé programy, které často běží na různých počítačích (a dokonce i v různých operačních systémech). V důsledku toho obě poloviny aplikace sdílejí velmi málo informací; mohou komunikovat, ale obvykle si vyměňují pouze malé bloky jednoduchých informací.
  • Bezstavové spuštění – když webový server obdrží požadavek na stránku, najde stránku, zpracuje ji, odešle do prohlížeče a pak zahodí všechny informace o stránce. Pokud uživatel znovu požádá o stejnou stránku, server zopakuje celou sekvenci a znovu ji zpracuje úplně od začátku. Jinak řečeno, server nemá žádnou paměť stránek, které zpracoval – stránky jsou bezstavové. Proto pokud aplikace potřebuje udržovat informace o stránce, její bezstavová povaha se může stát problémem.
  • Neznámé možnosti klienta – v mnoha případech jsou webové aplikace přístupné mnoha uživatelům v různých prohlížečích. Prohlížeče mají různé možnosti, což ztěžuje vytvoření aplikace, která bude fungovat stejně dobře na všech z nich.
  • Komplikace s přístupem k datům – Čtení ze zdroje dat a zápis do zdroje dat v tradičních webových aplikacích může být složité a náročné na prostředky.
  • Komplikace se škálovatelností – V mnoha případech se webovým aplikacím navrženým pomocí existujících metod nepodaří splnit cíle škálovatelnosti kvůli nedostatečné kompatibilitě mezi různými komponentami aplikace. Často se jedná o běžný bod selhání pro aplikace s velkým cyklem růstu.

Splnění těchto výzev webových aplikací může vyžadovat značné množství času a úsilí. ASP.NET Web Forms a rámec ASP.NET řeší tyto výzvy následujícími způsoby:

  • Intuitivní a konzistentní objektový model – architektura ASP.NET stránek představuje objektový model, který umožňuje považovat formuláře za celek, ne jako samostatné části klienta a serveru. V tomto modelu můžete stránku programovat intuitivnějším způsobem než v tradičních webových aplikacích, včetně možnosti nastavit vlastnosti prvků stránky a reagovat na události. Kromě toho ASP.NET serverové ovládací prvky představují abstrakci z fyzického obsahu stránky HTML a z přímé interakce mezi prohlížečem a serverem. Obecně platí, že serverové ovládací prvky můžete používat tak, jak byste mohli pracovat s ovládacími prvky v klientské aplikaci, a nemusíte přemýšlet o tom, jak vytvořit kód HTML pro prezentaci a zpracování ovládacích prvků a jejich obsahu.
  • Programovací model řízený událostmi – ASP.NET Web Forms webovým aplikacím přinést známý model zápisu obslužných rutin událostí pro události, ke kterým dochází na klientovi nebo serveru. Rozhraní ASP.NET stránky abstrahuje tento model tak, že základní mechanismus zachycení události na klientovi, jejímu přenosu na server a volání příslušné metody je pro vás automatický a neviditelný. Výsledkem je jasná, snadno napsaná struktura kódu, která podporuje vývoj řízený událostmi.
  • Intuitivní správa stavu – rozhraní ASP.NET stránek automaticky zpracovává úlohu údržby stavu stránky a jejích ovládacích prvků a poskytuje explicitní způsoby, jak udržovat stav informací specifických pro aplikaci. Toho se dosahuje bez velkého využití prostředků serveru a je možné ho implementovat s odesíláním souborů cookie do prohlížeče nebo bez toho.
  • Aplikace nezávislé na prohlížeči – Architektura stránky ASP.NET umožňuje vytvářet veškerou logiku aplikace na serveru, takže není nutné explicitně kódovat rozdíly v prohlížečích. Přesto ale umožňuje využívat funkce specifické pro prohlížeč psaním kódu na straně klienta, který poskytuje lepší výkon a bohatší možnosti klienta.
  • Podpora modulu CLR (Common Language Runtime) rozhraní .NET Framework – rozhraní ASP.NET stránky je založené na rozhraní .NET Framework, takže celá architektura je k dispozici pro všechny ASP.NET aplikace. Vaše aplikace mohou být napsány v jakémkoli jazyce, který je kompatibilní s modulem runtime. Kromě toho se přístup k datům zjednodušuje pomocí infrastruktury pro přístup k datům, kterou poskytuje rozhraní .NET Framework, včetně ADO.NET.
  • Výkon škálovatelného serveru .NET Framework – rozhraní ASP.NET stránek umožňuje škálovat webovou aplikaci z jednoho počítače s jedním procesorem na webovou farmu s více počítači, a to čistě a bez složitých změn logiky aplikace.

Funkce ASP.NET Web Forms

  • Ovládací prvky serveru – ovládací prvky webového serveru ASP.NET jsou objekty na ASP.NET webových stránkách, které se spouští při požadavku na stránku a které v prohlížeči vykreslují značky. Mnoho ovládacích prvků webového serveru se podobá známým elementům HTML, jako jsou tlačítka a textová pole. Jiné ovládací prvky zahrnují komplexní chování, jako jsou ovládací prvky kalendáře a ovládací prvky, které můžete použít pro připojení ke zdrojům dat a zobrazení dat.
  • Stránky předlohy – ASP.NET stránky předlohy umožňují vytvořit konzistentní rozložení stránek ve vaší aplikaci. Jedna stránka předlohy definuje vzhled a chování a standardní chování, které chcete použít pro všechny stránky (nebo skupinu stránek) ve vaší aplikaci. Potom můžete vytvořit jednotlivé stránky obsahu obsahující obsah, který chcete zobrazit. Když uživatelé požadují stránky obsahu, sloučí se se stránkou předlohy, aby vytvořili výstup, který kombinuje rozložení stránky předlohy s obsahem ze stránky obsahu.
  • Práce s daty ASP.NET poskytuje mnoho možností pro ukládání, načítání a zobrazení dat. V ASP.NET Web Forms aplikaci můžete pomocí ovládacích prvků vázaných na data automatizovat prezentaci nebo zadávání dat v prvcích uživatelského rozhraní webové stránky, jako jsou tabulky, textová pole a rozevírací seznamy.
  • Členství – ASP.NET Identity ukládá přihlašovací údaje uživatelů do databáze vytvořené aplikací. Když se uživatelé přihlásí, aplikace ověří jejich přihlašovací údaje načtením databáze. Složka Account vašeho projektu obsahuje soubory, které implementují různé části členství: registraci, přihlášení, změnu hesla a autorizaci přístupu. Kromě toho ASP.NET Web Forms podporuje OAuth a OpenID. Tato vylepšení ověřování umožňují uživatelům přihlašovat se k vašemu webu pomocí existujících přihlašovacích údajů z účtů, jako jsou Facebook, Twitter, Windows Live a Google. Ve výchozím nastavení šablona vytvoří databázi členství pomocí výchozího názvu databáze na instanci SQL Server Express LocalDB, což je vývojový databázový server, který je součástí Visual Studio Express 2013 pro web.
  • Klientské skripty a architektury klienta – serverové funkce ASP.NET můžete vylepšit zahrnutím funkcí klientských skriptů do stránek ASP.NET webových formulářů. Pomocí klientského skriptu můžete uživatelům poskytnout bohatší a responzivní uživatelské rozhraní. Můžete také použít klientský skript k asynchronním voláním webového serveru, když je stránka spuštěna v prohlížeči.
  • Směrování – Směrování adresy URL umožňuje nakonfigurovat aplikaci tak, aby přijímala adresy URL požadavků, které se nemapují na fyzické soubory. Adresa URL požadavku je jednoduše adresa URL, která uživatel zadá do prohlížeče, aby našel stránku na vašem webu. Směrování slouží k definování adres URL, které jsou pro uživatele sémanticky smysluplné a které můžou pomoct s optimalizací pro vyhledávače (SEO).
  • Správa stavu – ASP.NET Web Forms zahrnuje několik možností, které vám pomůžou zachovat data pro jednotlivé stránky i pro celou aplikaci.
  • Zabezpečení – Důležitou součástí vývoje bezpečnější aplikace je pochopení hrozeb, které jí hrozí. Společnost Microsoft vyvinula způsob, jak kategorizovat hrozby: falšování identity, falšování, popírání dokumentace, zpřístupnění informací, odepření služby, zvýšení oprávnění (STRIDE). V ASP.NET Web Forms můžete přidat body rozšiřitelnosti a možnosti konfigurace, které umožňují přizpůsobit různá chování zabezpečení v ASP.NET Web Forms.
  • Výkon – výkon může být klíčovým faktorem úspěšného webu nebo projektu. ASP.NET Web Forms umožňuje upravit výkon související se zpracováním řízení stránek a serverů, správou stavu, přístupem k datům, konfigurací a načítáním aplikací a efektivními postupy kódování.
  • Internacionalizace – ASP.NET Web Forms umožňuje vytvářet webové stránky, které mohou získat obsah a další data na základě upřednostňovaného jazykového nastavení prohlížeče nebo na základě explicitní volby jazyka uživatelem. Obsah a další data se označují jako prostředky a taková data mohou být uložena v souborech prostředků nebo jiných zdrojích. Na stránce ASP.NET Web Forms nakonfigurujete ovládací prvky tak, aby získály hodnoty vlastností z prostředků. Za běhu jsou výrazy prostředků nahrazeny prostředky z příslušného lokalizovaného souboru prostředků.
  • Ladění a zpracování chyb – ASP.NET obsahuje funkce, které vám pomůžou diagnostikovat problémy, ke kterým může dojít ve vaší Web Forms aplikaci. Ladění a zpracování chyb jsou v rámci ASP.NET Web Forms dobře podporovány, aby se vaše aplikace efektivně zkompiloval a fungoval.
  • Nasazení a hostování – Visual Studio, ASP.NET, Azure a SLUŽBA IIS poskytují nástroje, které vám pomůžou s procesem nasazení a hostování Web Forms aplikace.

Rozhodování o tom, kdy vytvořit aplikaci Web Forms

Je třeba pečlivě zvážit, zda implementovat webovou aplikaci pomocí modelu ASP.NET Web Forms nebo jiného modelu, jako je například architektura ASP.NET MVC. Architektura MVC nenahrazuje model Web Forms. Pro webové aplikace můžete použít obě architektury. Než se rozhodnete použít model Web Forms nebo architekturu MVC pro konkrétní web, zvažte výhody jednotlivých přístupů.

Výhody webové Forms-Based webové aplikace

Architektura založená na Web Forms nabízí následující výhody:

  • Podporuje model událostí, který zachovává stav nad protokolem HTTP, což je výhodné pro vývoj obchodních webových aplikací. Aplikace založená na Web Forms poskytuje desítky událostí, které jsou podporovány ve stovkách ovládacích prvků serveru.
  • Používá vzor kontroleru stránek, který přidává funkce na jednotlivé stránky. Další informace najdete v tématu Kontroler stránky.
  • Používá zobrazení stavu nebo serverové formuláře, které usnadňují správu informací o stavu.
  • Funguje dobře pro malé týmy webových vývojářů a návrhářů, kteří chtějí využívat velké množství komponent dostupných pro rychlý vývoj aplikací.
  • Obecně je to pro vývoj aplikací méně složité, protože komponenty (třída Page , ovládací prvky atd.) jsou úzce integrované a obvykle vyžadují méně kódu než model MVC.

Výhody webové aplikace MVC-Based

Architektura ASP.NET MVC nabízí následující výhody:

  • Usnadňuje správu složitosti rozdělením aplikace do modelu, zobrazení a kontroleru.
  • Nepoužívá zobrazení stavu ani formuláře založené na serveru. Díky tomu je architektura MVC ideální pro vývojáře, kteří chtějí mít plnou kontrolu nad chováním aplikace.
  • Používá vzor předního kontroleru, který zpracovává požadavky webové aplikace prostřednictvím jednoho kontroleru. To vám umožní navrhnout aplikaci, která podporuje bohatou infrastrukturu směrování. Další informace najdete v tématu Front Controller.
  • Poskytuje lepší podporu pro vývoj řízený testy (TDD).
  • Funguje dobře pro webové aplikace, které jsou podporovány velkými týmy vývojářů a webových návrhářů, kteří potřebují vysokou míru kontroly nad chováním aplikace.