Jak vznikala webová aplikace kolonizace.asp2.cz



Podobné dokumenty
Manuál: Editace textů v textovém editoru SINPRO Úprava tabulek a internetových odkazů, řádkování

ZSF web a intranet manuál

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

FFUK Uživatelský manuál pro administraci webu Obsah

Formátování pomocí stylů

MS SQL Server 2008 Management Studio Tutoriál

My si nyní takovou sestavu vytvoříme na příkladu jednoduché kanceláře. Začneme vytvořením takové kanceláře.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Webové stránky. 19. Úprava šablony HTML. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Vytvoření tiskové sestavy kalibrace

1 Příprava pracovního prostředí

MANUÁL administrátora elektronické spisové služby

Postupy práce se šablonami IS MPP

Excel tabulkový procesor

Hromadná korespondence

Možnosti tisku v MarushkaDesignu

5 ÚVOD DO TESTOVÁNÍ SOFTWARE. 6 Testování software ve vývojovém prostředí MICROSOFT VISUAL STUDIO V hlavním menu volba Debug

Administrace webu Postup při práci

Windows Live Movie Maker

II. Elektronická pošta

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Jak vytvořit vlastní ikonu bloku a faceplate v PCS7 V6.x a 7.x

Uživatelská dokumentace

Cvičení 6 PARAMETRICKÉ 3D MODELOVÁNÍ TVORBA VÝKRESU OBROBKU Inventor Professional 2012

Nástrojová lišta v editačním poli

Demonstrační kufřík TAC XENTA

Nastavení třídnických hodin

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

UniLog-L. v0.81 návod k obsluze software. Strana 1

Microsoft Office. Word hromadná korespondence

CUZAK. Uživatelská příručka. Verze

Import a export dat EU peníze středním školám Didaktický učební materiál

Voltampérová charakteristika diody

Autodesk Inventor 8 - výkresová dokumentace, nastavení

Spuštění a ukončení databázové aplikace Access

Manuál pro obsluhu Webových stránek

Programujeme v softwaru Statistica

MS PowerPoint ZÁKLADY

Postup: Nejprve musíme vyplnit tabulku. Pak bude vypadat takto:

Programujeme v softwaru Statistica - příklady

6. Formátování: Formátování odstavce

Sestavy. Téma 3.3. Řešený příklad č Zadání: V databázi zkevidence.accdb vytvořte sestavu, odpovídající níže uvedenému obrázku.

Free and open source v geoinformatice. Příloha 1 - Praktické cvičení QGIS

Stručný návod na evidenci záznamů publikační činnosti v OBD 2.5

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

Microsoft Word - Styly, obsah a další

František Hudek. červen ročník

3 Editor Capture. 3.1 Práce s projekty. Analýza elektronických obvodů programem PSpice 9

Webové stránky. 4. Tvorba základní HTML webové stránky. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Registrační číslo projektu: Škola adresa: Šablona: Ověření ve výuce Pořadové číslo hodiny: Třída: Předmět: Název: Mozilla Firefox nastavení Anotace:

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

EDITOR ADMINISTRACE WEBU PF UJEP

CUZAK. Uživatelská příručka. Verze

ANALYSIS SERVICES PROJEKT VYTVOŘENÍ PROJEKTU A DATOVÉ KOSTKY

Word 2007 praktická práce

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CVIČENÍ 4

MODUL EET. elektronická evidence tržeb

Vytvoření nové aplikace. Soustava

Vzdálené ovládání dotykového displeje IDEC HG3G pomocí routeru VIPA TM-C VPN

MS OFFICE POWER POINT 2010

Tvorba fotogalerie v HTML str.1

Survey 123. Jak na sběr (nejen) prostorových dat v terénu

Po přihlášení do Osobní administrativy v Technologie a jejich správa vybereme položku Certifikáty bezdrátové sítě (Eduroam).

Lokality a uživatelé

1. Základní pojmy, používané v tomto manuálu. 2. Stránky

Tvorba webových stránek na google Sites (1.)

2017 CARAT "New design"

Pracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

Uživatelská příručka. Marushka Photo. aplikace firmy GEOVAP, spol. s r.o.

1 Příručka používání Google Apps

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

1 Tabulky Příklad 3 Access 2010

Tvorba webu. Úvod a základní principy. Martin Urza

Microsoft Office. Word vzhled dokumentu

Aplikační profily v PLC Tecomat

Obsah, oddíly, záhlaví a zápatí, číslování stránek Word egon. Obsah dokumentu, oddíly, záhlaví a zápatí, číslování

UniLog-D. v1.01 návod k obsluze software. Strana 1

NÁVOD K POUŽITÍ. IP kamerový systém.

Hromadná korespondence

František Hudek. duben ročník

Práce s programem MPVaK

Flash - animace. 17. Změna tvaru - Flash. Vytvořila: Radka Veverková Vytvořeno dne: Flash. DUM číslo: 16 Název: Flash

apilot - První kroky Publikační platforma apilot První kroky

3 Formuláře a sestavy Příklad 1 Access 2007

HTML - Úvod. Zpracoval: Petr Lasák

Pracovat budeme se sestavou Finanční tok. S ostatními se pracuje obdobně. Objeví se předdefinovaná sestava. Obrázek 1

Návod na nastavení bezdrátového routeru Asus WL-520g Deluxe v režimu klient

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

PŘEHLED A MOŽNOSTI VYUŽITÍ WEBOVÝCH MAPOVÝCH SLUŽEB

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

Kabelová televize Přerov, a.s.

Administrace paliv prodejen MAKRO / METRO

tohoto systému. Můžeme propojit Mathcad s dalšími aplikacemi, jako je Excel, MATLAB, Axum, nebo dokumenty jedné aplikace navzájem.

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

GENEALOGIE v praxi. 11. Přednáška Registrace rodokmenu na Internetu

CAD_Inventor -cvičení k modelování a tvorbě technické obrazové dokumentace Vytváření výrobního výkresu rotační součásti - hřídele

Transkript:

Jak vznikala webová aplikace kolonizace.asp2.cz Cílem tohoto textu je poskytnout začínajícím vývojářům rady a zejména návod jak krok za krokem vytvořit jednoduchou statickou webovou aplikaci s použitím co nejmenšího programování, ale zároveň využívající některé šikovné ovládací prvky ASP.NET 2.0. Motivací pro vznik aplikace a tohoto textu byla autorova účast v soutěži www.lcdzaweb.cz V tomto článku se čtenář setká s vývojovým prostředím Microsoft Visual Studio 2005, ASP.NET 2.0, jazykem C# a v neposlední řadě s jazykem HTML a CSS. Alespoň drobná znalost těchto technologií není na škodu, ale není nezbytnou podmínkou pro porozumění textu. Začínáme... Ve Visual Studiu 2005 si otevřeme novou webovou aplikaci (File > New > Web Site). V dialogu vybereme ASP.NET WebSite a nastavíme umístění aplikace (Location) a jazyk (C#, ale možno i VB.NET). Pro aplikaci použijeme jednoduchý design složený ze dvou vodorovných pruhů, z nichž horní bude tvořit záhlaví stránky a spodní se bude dále dělit na dva svislé sloupce nabídkový a obsahový. Před příchodem ASP.NET 2.0 bylo třeba definovat kód pro společné části stránky v každém aspx souboru. Pozdější změny byly proto obtížné. ASP.NET 2.0 přichází s novým konceptem návrhu stránek, s tzv. Master Pages. Master page tvoří obálku pro další webové stránky a obsahuje kód společný všem stránkám. Běžné aspx stránky, které mají deklarovánu příslušnost k nějaké master stránce ve svém kódu deklarují pouze svůj obsah. V okamžiku kdy zavoláme aspx stránku, ASP.NET automaticky zařídí svázání se správnou master stránkou. V naší webové aplikaci bude master stránka obsahovat kód pro záhlaví stránky a navigační lištu. Nyní přidáme master stránku do projektu. V okně Solution Explorer (viz. Ilustrace 1) klikneme pravým tlačítkem na projekt a zvolíme příkaz Add New Item... Ilustrace 1: Přidání nového objektu

Objeví se dialogové okno (viz. Ilustrace 2), v kterém zvolíme Master page. S tímto dialogovým oknem se setkáme během práce ještě vícekrát, tak si ho dobře zapamatujeme. Ilustrace 2: Dialog - Přidání nového objektu do projektu V okně pro editaci textu zvolíme záložku se souborem MasterPage.master (viz. Ilustrace 3) a přepneme se do zobrazení Source (viz. Ilustrace 4). Ilustrace 3: Záložky se soubory Ilustrace 4: Tlačítka Design/Source Zdrojový HTML kód souboru MasterPage.master nahradíme následujícím kódem, čímž si vytvoříme šablonu pro budoucí stránku. Jak bylo popsáno výše, stránka se bude skládat ze tří bloků záhlaví, nabídkové lišty a vlastního obsahu. Pro umístění bloků na stránce použijeme CSS, což nám v budoucnosti umožní snadno změnit design bez nutnosti přepisovat HTML soubory.

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="head1" runat="server"> <title>ukázková aplikace</title> <link href="stylesheet.css" rel="stylesheet" type="text/css" /> </head> <body> <form id="form1" runat="server"> <div id="page_container"> <div id="page_header"> <div id="page_body"> <div id="page_menu"> <div id="page_content"> <asp:contentplaceholder id="contentplaceholder1" runat="server"> </asp:contentplaceholder> </form> </body> </html> Rozvržení stránky Bloky jsou tvořeny HTML tagy <div> s jednoznačnými id v rámci celého dokumentu. Celá stránka je zabalena do bloku page_container (černý rámeček). Horní panel je tvořen blokem page_header (fialový), dva sloupce pak bloky page_menu (zelený) a page_content (bílý), které jsou uzavřeny do bloku page_body (oranžový rámeček). Horní panel bude obsahovat logo stránek, levý panel je určen pro nabídku a pravý pro vlastní obsah webu. Obsah souboru StyleSheet.css, který deklaruje vlastní CSS styly je popsán a vysvětlen v Příloze 1.

Všimněme si, že blok page_content obsahuje ASP.NET ovládací prvek ContentPlaceHolder. V tomto prvku se budou zobrazovat vnořené stránky. Nyní přidáme do projektu soubor s CSS styly postupem popsaným v Příloze 1. Zvolíme zpátky soubor MasterPage.master a z ToolBoxu vybereme ovládací prvek Menu. Nalezneme jej v sekci Navigation (viz. Ilustrace 5). Tažením myši (Drag&Drop) umístíme Menu do HTML kódu do bloku page_menu, příslušný HTML kód bude nyní vypadat následovně: <div id="page_menu"> <asp:menu ID="Menu1" runat="server"> </asp:menu> Ilustrace 5: Výběr prvku Menu z Toolboxu V dalším kroku nadefinuje datový zdroj, z kterého bude Menu načítat data. Přepneme se do Design módu (viz. Ilustrace 4) a klikneme na malou šipku v pravém horním rohu grafické podoby Menu. Objeví se malé pop-up dialogové okno s nabídkou, v němž je položka Choose data source. My vytvoříme nový datový zdroj (<New data source...>), z dialogu (viz. Ilustrace 6) vybereme SiteMap a klikneme na OK.

Ilustrace 6: Dialog: volba datového zdroje Na stránce se objevil nový prvek SiteMapDataSource. Tento prvek umí načíst strukturu webu ze souboru Web.sitemap a předat ji do Menu, které poté vytvoří grafickou podobu s položkami odpovídajícími hiearchické struktuře webu. Soubor Web.sitemap Web.sitemap je XML soubor v kterém snadno popíšeme strukturu webu čili vztahy mezi stránkami. Naše webová aplikace bude pro jednoduchost obsahovat pouze tři stránky. Reálně je vytvoříme za okamžik, ale již nyní můžeme napsat obsah souboru Web.sitemap. Přidáme do projektu novou položku Site Map (viz. Ilustrace 2). Otevřeme soubor a jeho obsah poupravíme dle následující ukázky: <?xml version="1.0" encoding="utf-8"?> <sitemap xmlns="http://schemas.microsoft.com/aspnet/sitemap-file-1.0" > <sitemapnode url="default.aspx" title="home" description=""> <sitemapnode url="products.aspx" title="produkty" description="" /> <sitemapnode url="contact.aspx" title="kontakt" description="" /> </sitemapnode> </sitemap> Mapa webu vždy musí obsahovat kořenový uzel, v našem případě stránku Default.aspx, kterou označíme jako domácí. Hloubka vnořených uzlů není omezena. V naší aplikaci budeme mít dvě

podřízené stránky Products.aspx a Contact.aspx. Soubor Web.sitemap uložíme a přepneme se zpátky na stránku MasterPage.master. Na prvku Menu opět klikneme na malou šipku a z pop-up nabídky tentokrát vybereme Refresh Schema. Vidíme, že se Menu upravilo dle právě vytvořené struktury webu ve Web.sitemap. Ovládací prvek Menu obsahuje řadu možností jak jej nastavit, zobrazená nabídka se může rozbalovat dynamicky nebo být statická, možné jsou i kombinace obou přístupů. V našem případě budeme chtít menu statické, proto na prvku Menu nastavíme vlastnost (property) StaticDisplayLevels na hodnotu 2. Jak z názvu vyplývá, tato vlastnost ovlivňuje počet položek, které se vygenerují staticky. Pro Menu, které mají větší hloubku (což není náš případ) se zobrazují zbylé položky dynamicky (tj. na kliknutí). Vytvoření vnořených stránek Nabídku jsme úspěšně vytvořili, nyní přistoupíme k vytvoření stránek s obsahem. Stránka Default.aspx byla vygenerována automaticky s projektem a není propojena s naší master stránkou. Proto ji z projektu odstraníme v Solution Exploreru klikneme na soubor Default.aspx pravým tlačítkem myši a zvolíme příkaz Delete. Následně do projektu přidáme tři nové objekty typu Web Page (viz. Ilustrace 2) Default.aspx, Products.aspx a Contact.aspx. V dialogu nesmíme opomenout zaškrtnout check box Select master page, k čemuž budeme vyzváni hned vzápětí v dalším dialogu. Náš projekt obsahuje pouze jednu master stránku, takže se nemůžeme výběrem splést. Ve výsledku by měl náš projekt vypadat takto

Přepneme se na stránku Default.aspx a zvolíme pohled do kódu (Source). První, čeho si pravděpodobně všimneme je absence deklarace HTML hlavičky a těla. Jak bylo popsáno výše, vnořené stránky přejímají deklarace od nadřízené Master page a sami obsahují pouze kontejner pro svůj obsah (ContentPlaceHolder). Tento kontejner naplníme textem a soubor uložíme. Kód stránky by nyní měl vypadat obdobně následující ukázce: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %> <asp:content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> Vítejte na stránkach firmy <b>a je to</b>. </asp:content> Obdobně vytvoříme obsah stránek Products.aspx a Contacts.aspx. SiteMapPath navigátor Vnořené stránky obohatíme o zobrazení aktuální cesty ve stromu stránek, prvek zvaný anglicky breadcrumb. Z Toolboxu vybereme prvek SiteMapPath a umístíme ho do kódu stránky Products.aspx a Contact.aspx hned na začátek kontejneru. Kód bude vypadat následovně: <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Products.aspx.cs" Inherits="_Products" Title="Produkty firmy A je to" %> <asp:content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:sitemappath ID="SiteMapPath1" runat="server"> </asp:sitemappath> Firma <b>a je to</b> pro vás vytvoří webovou prezentaci snů. </asp:content> Nemusíme nic nastavovat, prvek sám pozná na které je stránce a cestu vytvoří na základě souboru Web.sitemap. Hlavička webu Nakonec nesmíme zapomenout na záhlaví stránek. Opět se přepneme do souboru MasterPage.master a do bloku page_header umístíme obrázek nebo text. Kompilace a publikace webu Aplikace je hotová, nyní můžeme přistoupit k první zkoušce a spustit ji. V nabídce Visual Studia zvolíme Debug > Start Debugging nebo stiskneme klávesu F5. Visual Studio se nás možná zeptá, zda chceme vytvořit soubor Web.config a povolit v něm debugování aplikace. Zvolíme Ano. Po malé chvíli, kdy probíhá kompilace aplikace se otevře okno prohlížeče a můžeme aplikaci otestovat. Publikování webu Pokud vše funguje jak má, můžeme přistoupit k poslednímu kroku a publikovat aplikaci na webovém serveru. Visual Studio 2005 (kromě verze Web Developer) obsahuje šikovnou funkci Publish Web, ke které se dostaneme kliknutím pravé myši na projekt v Solution Exploretu.

Do zvoleného adresáře, který by měl být prázdný, vytvoří Visual Studio kopii našeho projektu vhodnou k publikaci na webu. Odstraní se všechny soubory s C# kódem a další soubory, které nejsou pro běh aplikace potřeba. Aplikace se zároveň předkompiluje. Příloha 1. CSS soubor Podrobný popis vlastností stylů CSS je nad rámec tohoto článku a proto zde uvádíme pouze obsah souboru StyleSheet.css, tak jak jej máme přidat do projektu obsah souboru Další typy a triky Menu bez kořenového uzlu Navigace webových aplikací obvykle neobsahuje kořenovou položku od které by se odvíjely podřízené kategorie, ale přímo několik rovnocenných kategorií. ASP.NET takovou konstrukci přímo nepodporuje, ale lze ji docílit několika triky. V souboru Web.sitemap ponecháme kořenový uzel nevyplněný a uzel Home přidáme do druhé úrovně. <?xml version="1.0" encoding="utf-8"?> <sitemap xmlns="http://schemas.microsoft.com/aspnet/sitemap-file-1.0" > <sitemapnode url="" title="" description=""> <sitemapnode url="home.aspx" title="home" description="" /> <sitemapnode url="products.aspx" title="produkty" description="" /> <sitemapnode url="contact.aspx" title="kontakt" description="" /> </sitemapnode> </sitemap> * na stránce s Menu pozměnit properties tak, aby se Menu zobrazovalo bez kořene