Co jsou webové formuláře

ASP.NET Web Forms je součástí architektury webových aplikací ASP.NET a je zahrnuto v sadě 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ákové aplikace.

Webové formuláře jsou stránky, které uživatelé požadují v prohlížeči. Tyto stránky lze zapsat pomocí kombinace html, klientského skriptu, serverových ovládacích prvků a kódu serveru. Když uživatelé požadují stránku, zkompiluje se a spustí na serveru rozhraním a pak rozhraní vygeneruje kód HTML, který může prohlížeč vykreslit. Na stránce ASP.NET webových formulářů se uživateli zobrazí informace v libovolném prohlížeči nebo klientském zařízení.

Pomocí sady Visual Studio můžete vytvořit ASP.NET webových formulářů. Integrované vývojové prostředí (IDE) sady Visual Studio umožňuje přetahování serverových ovládacích prvků k rozložení stránky Webové formuláře. Potom 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í webové stránky, vzhledu a chování atd. Pokud chcete napsat kód 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á zvýrazňují funkce z předchozích verzí, můžou být užitečná pro aktuální úlohy a scénáře s použitím nejnovějších verzí.

webové formuláře ASP.NET jsou:

  • Na základě technologie Microsoft ASP.NET, ve které kód, který běží 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#.
  • Postaveno na rozhraní Microsoft .NET Framework. To poskytuje všechny výhody frameworku, včetně spravovaného prostředí, typové bezpečnosti a dědičnosti.
  • Flexibilní, protože do nich můžete přidat ovládací prvky vytvořené uživatelem a třetí stranou.

nabídka webových formulářů ASP.NET:

  • Oddělení kódu HTML a jiné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 s velkou podporou nástrojů
  • Podpora skriptování na straně klienta, které se spouští v prohlížeči.
  • Podpora různých 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 pomáhají překonávat výzvy

Programování webových aplikací představuje výzvy, které se obvykle nevyskytnou při programování tradičních klientských aplikací. 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 html zařízení může být obtížné a zdlouhavé, zejména pokud má stránka složité rozložení, velký objem dynamického obsahu a plnohodnotné uživatelem interaktivní objekty.
  • Oddělení klienta a serveru – Ve webové aplikaci jsou klient (prohlížeč) a server různé programy často spuštěné na různých počítačích (a dokonce i v různých operačních systémech). V důsledku toho dvě poloviny aplikace sdílejí velmi málo informací; můžou komunikovat, ale obvykle 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 ji do prohlížeče a potom zahodí všechny informace o stránce. Pokud uživatel znovu požádá o stejnou stránku, server opakuje celou sekvenci a znovu zpracuje stránku úplně od začátku. Jinak řečeno, server nemá žádnou paměť stránek, které zpracoval – stránka je bezstavová. Proto, pokud aplikace potřebuje udržovat informace o stránce, její bezstavová povaha může být problém.
  • Neznámé možnosti klienta – v mnoha případech jsou webové aplikace přístupné mnoha uživatelům pomocí různých prohlížečů. Prohlížeče mají různé možnosti, což ztěžuje vytvoření aplikace, která bude fungovat stejně dobře na všech těchto prohlížečích.
  • Komplikace s přístupem k datům – čtení 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 webové aplikace navržené s existujícími metodami nesplňují cíle škálovatelnosti kvůli nedostatku kompatibility mezi různými komponentami aplikace. Často se jedná o běžný bod selhání pro aplikace v rámci náročného cyklu růstu.

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

  • Intuitivní a konzistentní objektový model – architektura stránky ASP.NET představuje objektový model, který umožňuje představit si formuláře jako jednotku, 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 fyzického obsahu stránky HTML a přímé interakce mezi prohlížečem a serverem. Obecně můžete použít serverové ovládací prvky tak, jak můžete pracovat s ovládacími prvky v klientské aplikaci, a nemusíte přemýšlet o tom, jak vytvořit HTML k prezentaci a zpracování ovládacích prvků a jejich obsahu.
  • Programovací model řízený událostmi – ASP.NET webové formuláře přinášejí do webových aplikací známý model psaní obslužných rutin událostí pro události, ke kterým dochází na klientovi nebo serveru. Architektura stránky ASP.NET abstrahuje tento model takovým způsobem, že základní mechanismus zachycení události na klientovi, jeho přenosu na server a volání příslušné metody je pro vás všechny automatické a neviditelné. Výsledkem je jasná a snadno napsaná struktura kódu, která podporuje vývoj řízený událostmi.
  • Intuitivní správa stavu – architektura stránky ASP.NET 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. To se provádí bez velkého využití serverových prostředků a lze je implementovat s nebo bez odesílání souborů cookie do prohlížeče.
  • Aplikace nezávislé na prohlížeči – Architektura stránky ASP.NET umožňuje vytvořit na serveru veškerou logiku aplikace, což eliminuje nutnost explicitně kódovat rozdíly v prohlížečích. Přesto ale umožňuje využít výhod funkcí specifických pro prohlížeč tím, že napíšete kód na straně klienta, abyste zajistili lepší výkon a bohatší prostředí klienta.
  • Podpora modulu CLR .NET Framework – rozhraní ASP.NET page framework je založené na rozhraní .NET Framework, takže celá architektura je k dispozici pro všechny ASP.NET aplikace. Aplikace je možné psát v jakémkoli jazyce, který je kompatibilní s modulem runtime. Kromě toho je přístup k datům zjednodušený pomocí infrastruktury přístupu k datům, kterou poskytuje rozhraní .NET Framework, včetně ADO.NET.
  • Škálovatelný výkon serveru rozhraní .NET Framework – Architektura stránky ASP.NET umožňuje škálovat webovou aplikaci z jednoho počítače s jedním procesorem na webovou farmu s více počítači čistě a bez složitých změn logiky aplikace.

Funkce webových formulářů ASP.NET

  • Ovládací prvky serveru – ASP.NET ovládací prvky webového serveru jsou objekty na ASP.NET webových stránkách, které se spouští při vyžádání stránky a které vykreslují kód v prohlížeči. Mnoho ovládacích prvků webového serveru je podobné známým prvkům HTML, jako jsou tlačítka a textová pole. Jiné ovládací prvky zahrnují složité 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í pro stránky v 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. Pak můžete vytvořit jednotlivé stránky obsahu, které obsahují obsah, který chcete zobrazit. Když uživatelé požadují stránky obsahu, sloučí se stránkou předlohy a vytvoří výstup, který kombinuje rozložení stránky předlohy s obsahem ze stránky obsahu.
  • Práce s daty – ASP.NET nabízí řadu možností pro ukládání, načítání a zobrazování dat. V aplikaci ASP.NET Webových formulářů 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 a 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 vaši uživatelé přihlásí, aplikace ověří své přihlašovací údaje načtením databáze. Složka Účet projektu obsahuje soubory, které implementují různé části členství: registraci, přihlášení, změnu hesla a autorizaci přístupu. Kromě toho ASP.NET webové formuláře podporují OAuth a OpenID. Tato vylepšení ověřování umožňují uživatelům přihlásit se k webu pomocí existujících přihlašovacích údajů, například z účtů Facebook, Twitter, Windows Live a Google. Ve výchozím nastavení šablona vytvoří databázi členství pomocí výchozího názvu databáze v instanci SQL Server Express LocalDB, což je vývojový databázový server, který je součástí sady Visual Studio Express 2013 pro web.
  • Klientské skripty a klientské architektury– funkce serveru ASP.NET můžete vylepšit zahrnutím funkcí klientského skriptu na stránkách webového formuláře ASP.NET. Klientský skript můžete použít k zajištění bohatšího, responzivního uživatelského rozhraní pro uživatele. Pomocí klientského skriptu můžete také provádět asynchronní volání webového serveru, když je stránka spuštěná v prohlížeči.
  • Směrování adres URL umožňuje nakonfigurovat aplikaci tak, aby přijímala adresy URL požadavků, které neodpovídají fyzickým souborům. Adresa URL požadavku je jednoduše adresa URL, kterou uživatel zadá do svého 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í vyhledávacího webu (SEO).
  • Správa stavu – webové formuláře ASP.NET obsahují několik možností, které vám pomůžou zachovat data na jednotlivých stránkách i pro celou aplikaci.
  • Zabezpečení – důležitou součástí vývoje bezpečnější aplikace je pochopení hrozeb pro ni. Společnost Microsoft vyvinula způsob, jak kategorizovat hrozby: falšování identity, manipulace, repudiace, zpřístupnění informací, odepření služby, zvýšení oprávnění (STRIDE). Ve ASP.NET webových formulářů můžete přidat body rozšiřitelnosti a možnosti konfigurace, které umožňují přizpůsobit různá chování zabezpečení ve webových formulářích ASP.NET.
  • Výkon – výkon může být klíčovým faktorem úspěšného webu nebo projektu. ASP.NET webových formulářů umožňuje upravit výkon související se zpracováním stránk a serverem, správou stavu, přístupem k datům, konfigurací aplikací a načítáním a efektivními postupy kódování.
  • Internationalization - ASP.NET Web Forms umožňuje vytvářet webové stránky, které mohou získávat obsah a další data na základě upřednostňovaného jazykového nastavení prohlížeče nebo na základě explicitního výběru jazyka uživatele. 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 webových formulářů nakonfigurujete ovládací prvky, které z prostředků získají hodnoty jejich vlastností. Za běhu se výrazy prostředků nahradí 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, které mohou nastat ve vaší aplikaci Web Forms. Ladění a zpracování chyb jsou v rámci webových formulářů ASP.NET dobře podporované, aby se vaše aplikace kompilují a spouštěly efektivně.
  • Nasazení a hostování – Visual Studio, ASP.NET, Azure a IIS poskytují nástroje, které vám pomůžou s procesem nasazení a hostování aplikace Web Forms.

Rozhodování o tom, kdy vytvořit aplikaci webových formulářů

Je nutné pečlivě zvážit, jestli chcete implementovat webovou aplikaci pomocí modelu ASP.NET webových formulářů nebo jiného modelu, například rozhraní ASP.NET MVC. Architektura MVC nenahrazuje model webových formulářů; pro webové aplikace můžete použít některou architekturu. Než se rozhodnete použít model webových formulářů nebo architekturu MVC pro konkrétní web, zvažte výhody každého přístupu.

Výhody webové aplikace na bázi formulářů

Architektura založená na webových formulářích nabízí následující výhody:

  • Podporuje model událostí, který zachovává stav přes PROTOKOL HTTP, což přináší výhody vývoje obchodních webových aplikací. Aplikace založená na webových formulářích poskytuje desítky událostí, které jsou podporovány ve stovkách serverových ovládacích prvků.
  • Používá vzor kontroleru stránky, který přidává funkce na jednotlivé stránky. Další informace naleznete v tématu Kontroleru stránek.
  • Používá formulář zobrazení 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ý počet komponent dostupných pro rychlý vývoj aplikací.
  • Obecně platí, že vývoj aplikací je 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 založené na MVC

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á stav zobrazení ani serverové formuláře. 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 front controlleru, který zpracovává požadavky webových aplikací prostřednictvím jednoho kontroleru. To vám umožní navrhnout aplikaci, která podporuje bohatou infrastrukturu směrování. Další informace naleznete v části 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 kontrolu nad chováním aplikace.