V této kapitole se podíváme na způsob přenosu dat mezi stránkami v ASP.NET a jak využívat některé ovládací prvky pro interakci s uživatelem, jako jsou tlačítka a obrázky. Také se zaměříme na nastavení výchozího tlačítka a používání události Command pro lepší ovládání akcí na stránkách.
Při přechodu mezi stránkami aplikace ASP.NET je běžné, že potřebujeme zobrazit data z předchozí stránky. Tento přenos dat lze provést několika způsoby. Například pomocí objektu PreviousPage, který nám umožňuje získat ovládací prvky z předchozí stránky a manipulovat s jejich hodnotami.
V příkladu níže, kdy se uživatel dostane na stránku „results.aspx“, zobrazíme text, který zadal na předchozí stránce, pomocí ovládacího prvku typu Label. Tento kód využívá PreviousPage.FindControl, aby získal kontrolu (TextBox) z předchozí stránky a zobrazil její hodnotu:
Tento způsob přenosu dat je sice jednoduchý, ale má své limity. Existují efektivnější způsoby, jak sdílet data mezi stránkami, například použití Cookies nebo Session proměnných. Tyto techniky budou podrobněji probrány v dalších kapitolách.
Další užitečnou funkcionalitou v ASP.NET je možnost nastavit výchozí tlačítko na stránce. Pokud máte více tlačítek, můžete určit jedno, které bude automaticky vykonáno, když uživatel stiskne klávesu Enter, místo aby musel kliknout myší. Toto je realizováno pomocí vlastnosti defaultButton formuláře. Příklad ukazuje, jak definovat dvě tlačítka a přiřadit jedno z nich jako výchozí:
A následný kód na serveru:
Nastavení výchozího tlačítka pak provádíme takto:
Tento způsob přizpůsobení umožňuje zjednodušit interakci s uživatelem, přičemž umožňuje přenos dat mezi různými tlačítky bez potřeby dalšího kódu pro každý klik.
Dalším rozšířením tohoto přístupu je použití události Command, která je k dispozici u tlačítek typu Button, LinkButton a ImageButton. Na rozdíl od běžné události Click, událost Command umožňuje předat konkrétní příkaz a argument k jeho zpracování. Tento přístup zjednodušuje situace, kdy máte více tlačítek, která spouští stejný kód, ale liší se podle předaných argumentů.
Například:
A kód pro zpracování:
Tento způsob přenosu dat pomocí události Command je efektivní, protože ušetříte čas a prostor, který by jinak zabíralo psaní kódu pro každé tlačítko zvlášť. Všechny tlačítka mohou volat stejný kód, ale s různými argumenty.
V dalším kroku se podíváme na další nástroj, který je součástí ASP.NET – nástroje pro zobrazení obrázků. Ovládací prvky jako Image a ImageMap poskytují možnosti, jak jednoduše nebo složitě zobrazit obrázky na stránkách. Ovládací prvek Image zobrazuje obrázky prostřednictvím vlastnosti ImageUrl, zatímco ImageMap nabízí interaktivnější způsob, jak zobrazovat obrázky s různými oblasti, které mohou být kliknutelné.
Například:
A pro výběr náhodného obrázku z několika možností:
Tento příklad ukazuje, jak použít nástroj Image pro zobrazení náhodného obrázku při každém načtení stránky.
Důležité je mít na paměti, že při používání obrázků na webových stránkách musíme vždy zajistit, aby byly správně naformátovány a optimalizovány pro web. Obrázky mohou výrazně zpomalit načítání stránky, pokud nejsou dostatečně komprimovány. Dále je nezbytné zajistit dostupnost alternativního textu pro obrázky, což pomáhá nejen při zpřístupnění obsahu pro uživatele s handicapem, ale i pro optimalizaci pro vyhledávače.
Jak využít ovládací prvky Panelu a nástroje pro nahrávání souborů v ASP.Net aplikacích
V prostředí ASP.Net jsou nástroje pro manipulaci s ovládacími prvky a jejich organizaci klíčové pro efektivní a přehledné vytváření webových aplikací. Jedním z těchto nástrojů je kontrola Panel, která usnadňuje uspořádání a řízení různých ovládacích prvků na stránce. Panel umožňuje shlukovat ovládací prvky, což přispívá k lepší organizaci uživatelského rozhraní a zjednodušuje interakci s aplikací. Tento nástroj se často využívá pro změnu viditelnosti součástí aplikace, což je zvláště užitečné pro dynamické rozhraní.
Ovládací vlastnosti Panelu
Mezi základní vlastnosti panelu patří:
-
DefaultButton: Tato vlastnost umožňuje nastavit výchozí tlačítko v panelu. Po stisknutí klávesy Enter dojde k aktivaci tohoto tlačítka, což může být užitečné pro implementaci formulářů nebo jiných interaktivních prvků.
-
Direction: Určuje orientaci textu a ovládacích prvků v panelu. Může být nastavena na hodnoty LeftToRight nebo RightToLeft, což je důležité zejména pro aplikace, které podporují různé jazyky.
-
GroupingText: Tato vlastnost umožňuje nastavit název nebo titul panelu, což je vhodné pro přehlednost a organizaci ovládacích prvků uvnitř.
-
HorizontalAlign: Určuje horizontální zarovnání obsahu panelu (např. vlevo, na střed, vpravo). Tato vlastnost ovlivňuje vizuální vzhled a uspořádání nástrojů v panelu.
-
ScrollBars: Tato vlastnost řídí zobrazení horizontálního nebo vertikálního posuvníku v panelu. Může mít hodnoty jako None (žádný), Horizontal (horizontální), Vertical (vertikální), Both (oba) nebo Auto, což zajišťuje, že obsah panelu bude správně zobrazen, i když je větší než dostupný prostor.
Ukázka aplikace Panelu v ASP.Net
Pro demonstraci těchto vlastností lze vytvořit jednoduchou aplikaci, která zobrazuje panel s několika ovládacími prvky. V kódu můžeme přidat tlačítko, které po kliknutí změní viditelnost panelu. Tento proces je ukázán v následujícím C# kódu:
Tento kód přepíná viditelnost panelu pnlContact při každém kliknutí na tlačítko. Pokud je panel viditelný, stane se neviditelným, a naopak. Takováto funkcionalita je velmi běžná při práci s dynamickými webovými aplikacemi, kde je potřeba přepínat mezi různými sekcemi nebo zobrazeními.
Nahrávání souborů na webové stránky
Dalším důležitým nástrojem, který se často používá v ASP.Net aplikacích, je kontrola pro nahrávání souborů. Kontrola FileUpload umožňuje uživatelům nahrát soubory, například obrázky nebo dokumenty, na webový server. Tato funkce je klíčová pro aplikace, které umožňují interakci s obsahem generovaným uživateli, jako jsou fotogalerie nebo systém pro odesílání souborů.
Mezi vlastnosti ovládacího prvku FileUpload patří:
-
Enabled: Určuje, zda je ovládací prvek aktivní nebo neaktivní.
-
FileBytes: Vrací obsah souboru jako pole bajtů.
-
FileContent: Poskytuje obsah souboru ve formě streamu.
-
FileName: Ukazuje název souboru.
-
HasFile: Vrací hodnotu True, pokud byl soubor úspěšně nahrán.
-
PostedFile: Vrací nahraný soubor jako objekt typu
HttpPostedFile, což umožňuje podrobnější práci se souborem.
Pro uložení souboru na server se využívá metoda SaveAs, která uloží nahraný soubor na specifikované místo na serveru. Kód pro uložení souboru může vypadat takto:
Tento kód kontroluje, zda byl soubor nahrán, a pokud ano, uloží ho do složky uploads na serveru.
Filtrace typů souborů
Pokud chceme omezit, jaké typy souborů mohou být nahrávány, můžeme implementovat jednoduchou kontrolu, která umožní pouze určité typy souborů (např. obrázky). Pro tento účel se často používá funkce pro ověření typu souboru před tím, než je soubor uložen:
Tato funkce zkontroluje příponu souboru a povolí pouze obrázkové formáty. Pokud je přípona souboru povolena, soubor bude nahrán, jinak bude zobrazeno chybové hlášení.
Důležitá upozornění pro čtenáře
Při práci s ovládacími prvky panelu a nahráváním souborů je důležité vždy zvážit bezpečnostní aspekty, zejména při manipulaci s nahrávanými soubory. Měli bychom zajistit, že nahrávané soubory jsou kontrolovány nejen na základě jejich typu, ale také na potenciální škodlivý obsah, jako jsou viry nebo skripty, které mohou být v souborech přítomny. Implementace filtrace a validace souborů je nezbytná pro ochranu serveru a uživatelů aplikace.
Dalším krokem může být ochrana soukromí a bezpečnosti uživatelů při práci s osobními údaji a soubory. Ujistěte se, že nahrávané soubory nejsou uloženy v nezabezpečených nebo veřejně přístupných adresářích.

Deutsch
Francais
Nederlands
Svenska
Norsk
Dansk
Suomi
Espanol
Italiano
Portugues
Magyar
Polski
Cestina
Русский