ASP.NET MVC v praxi od A do Z, 1. díl - Vytvoření projektu
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ASP.NET MVC v praxi od A do Z, 1. díl - Vytvoření projektuASP.NET MVC v praxi od A do Z, 1. díl - Vytvoření projektu

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vytvořte si vlastní webové stránky. Snadno, rychle a levně přes Saywebpage.com
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

ASP.NET MVC v praxi od A do Z, 1. díl - Vytvoření projektu

Google       Google       7. 8. 2009       29 027×

Po dlouhém přemýšlení nad názvem tohoto nového seriálu jsem dospěl k tomu, že ho pojmenuji „stručně“ podle hlavní technologie, kterou budeme používat, a zároveň se pokusím vystihnout účel seriálu. Tím je ukázat vám, čtenářům, užití této technologie v praxi, od absolutních základů, až do kompletně hotové a funkční aplikace. Nedejte se ale zmást, nepoužijeme zdaleka jen ASP.NET MVC, ale také AJAX nebo LINQ to SQL.

Reklama
Reklama

Nejlepší způsob, jak se naučit něco nového, je použít danou věc v praxi. V tomto seriálu postavíme od základů aplikaci NerdDinner, která bude sloužit pro online plánování večeří s přáteli. Seriál je překladem jedné kapitoly z knihy Professional ASP.NET MVC 1.0 z per pánů R. Coneryho, S. Hanselmana, P. Haacka a ASP.NET legendy Scotta Guthrieho. Tato jedna kapitola byla uvolněna zdarma už před několika měsíci a osobně ji považuji za jeden z nejlepších zdrojů k naučení ASP.NET, a proto jsem se rozhodl, že jím obohatím i české luhy a háje.

K samotné tvorbě, jak už bylo naznačeno, využijeme technologií ASP.NET MVC, AJAX.NET, LINQ to SQL a setkáme se i s mapami, prací s databází, regulárními výrazy a dalšími populárními technologiemi.

Budu používat Visual Studio 2008 s doplňkem pro ASP.NET MVC 1.0, .NET Framework 3.5 a SQL Server 2008 Developer Edition (pokud máte Express verze, tak to vůbec ničemu nevadí, jen přijdete o vestavěnou podporu unit testů).

Tolik k úvodu, ještě si ukážeme screenshot toho, čeho během pár dílů dosáhneme, a vrhneme se na to!

Začneme zapnutím Visual Studia a založením nového projektu pomocí položek File > New Project v menu. Vybereme ASP.NET MVC Web Application a pojmenujeme ji NerdDinner.

Po kliknutí na tlačítko OK na nás vyskočí další okno, tázající se na to, jestli chceme do solution přidat i projekt s unit testy. Unit testy jsou výborná věc pro, kdo by to byl řekl, testování aplikace. Díky striktnímu oddělení Controllers, Views a Models můžeme tyto jednotlivé části testovat jako nezávislé jednotky (proto unit testy). Také na ně v tomto seriálu dojde, takže vše necháme tak, jak to je, a opět potvrdíme tlačítkem OK.

Nic takového se vám nezobrazilo? V tom případě používáte Express nebo Standard verzi Visual Studia. Bohužel je podpora pro unit testy vestavěná jen do Visual Studia Professional a vyšší. Můžete si ale stáhnout jiný testovací framework, jako například NUnit, MBUnit nebo XUnit.

Struktura projektu NerdDinner

Hned po vytvoření MVC projektu nám Visual Studio předhodí poměrně bohatý výčet adresářů v projektu, pojďme se na ně tedy teď mrknout.

Nejvýše v projektu máme 6 adresářů, jejichž význam shrnuje následující tabulka:

Adresář Účel
/Controllers pro Controllery
/Models pro Modely
/Views pro Views
/Scripts pro JavaScriptové knihovny a skripty
/Content pro CSS soubory, obrázky a podobné soubory
/App_Data pro soubory, do kterých zapisujeme/čteme z nich (databázové .mdf soubory, XML soubory, …)

Tato struktura ale není vyžadovaná, můžete se setkat třeba i s tím, že vývojář rozdělí aplikaci do více projektů (například z Modelů vystaví samostatnou DLL knihovnu). Přesto ale poskytuje do začátku hezké logické rozdělení pro části aplikace, proto se jí budeme tentokrát držet.

Pokud rozklikneme adresář Controllers, uvidíme, že obsahuje dvě Controller třídy – HomeController a AccountController. Až aplikaci spustíme, tak uvidíte, jaký mají praktický význam. Zatím prozradím, že Controllery jsou tvořeny tzv. akčními metodami (to jsou ty, které vrací ActionResult) a MVC framework defaultně sestavuje URL ve tvaru {Controller}{Akční_Metoda}. Pokud nahlédneme dovnitř třídy HomeController, tak v něm mimo jiné najdeme akční metodu Index. Později uvidíte, že URL HomeIndex je tedy naprosto v pořádku a skutečně zobrazí stránku Index.

Uvnitř adresáře Views najdeme tři podadresáře - /Home, /Account a /Shared - a v nich několik .aspx šablon. Jak už jsme si řekli minule, Controller předává data View a ten je právě pomocí této šablony zobrazí. Zapadá to do sebe jako skládačka: názvy podadresářů odpovídají Controllerům (HomeController a AccountController, jen adresář Shared je sdílený) a šablony v nich zase odpovídají příslušným akčním metodám (třeba metoda Index v předchozím odstavci).

Při nahlédnutí do adresáře Content objevíme soubor Site.css, který dává vzhled celému ukázkovému webu, a uvnitř adresáře Scripts nalezneme pár JavaScript knihoven, které dodávají aplikaci podporu pro AJAX a jQuery.

Nakonec v projektu NerdDinner.Tests v adresáři Controllers uvidíme dvojici tříd, které obsahují testy pro Controllery Account a Home.

To, co jsme si v posledních několika odstavcích popsali, tvoří ukázkovou funkční aplikaci, kterou Visual Studio vždy vytvoří při vzniku nového MVC projektu. My si teď tuto aplikaci spustíme a dokážeme si, že to, co jsem říkal o vztahu URL, Controllerů a akčních metod, je pravda :-).

Spuštění aplikace

Stiskněme kouzelnou klávesu F5, aplikace se zkompiluje a před námi se objeví to, co na obrázku níže.

Klikneme-li na tlačítko About, dostane se na stránku typu „O aplikaci“. Hlavně si všimněte URL. Přesně odpovídá Controlleru Home a jeho akční metodě About:

Teď to zkusíme obráceně, dostaneme se na nějakou stránku ne pomocí tlačítka, ale pomocí změny URL. Máme Controller Account a v něm akční metodu LogOn. Co se asi stane?

Myslím, že touto dobou už základní myšlenku chápete, můžete si zkusit spustit i další akční metody.

Testování aplikace

Pokud používáte Professional (nebo vyšší) verzi Visual Studia, můžete využít vestavěné podpory pro unit testy k otestování jednotlivých částí aplikace. Opět jich máme několik předpřipravených (27, abych byl přesný), můžete je spustit z menu pomocí položek Test > Run > Tests in Current Context. Testy se provedou a v okně Test Results se objeví výsledky, vše by mělo proběhnout v pořádku. Nebojte, později prozkoumáme unit testy podrobněji.

Dnes jsme jen velmi zlehka prozkoumali typický MVC projekt, ze kterého bude naše NerdDinner aplikace vycházet. V příštím díle vytvoříme databázi, kterou budeme potřebovat.

Zdroj: http://nerddinnerbook.s3.amazonaws.com/Part1.htm

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

4 názory  —  4 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
Jakub studuje informatiku na FIT ČVUT, jeho oblíbenou platformou je .NET.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku V přechodu na DVB-T2 tápou především senioři. Přeladit jim pomáhají vnoučata, zapojí se i stát

V přechodu na DVB-T2 tápou především senioři. Přeladit jim pomáhají vnoučata, zapojí se i stát

Už na konci měsíce může zůstat část Čechů bez televizního signálu. Vypínání stávající sítě začne již 27. listopadu v Praze a středních Čechách a do poloviny roku 2020 čeká přechod na nový standard pozemního digitálního televizního vysílání DVB-T2 celou republiku. K naladění nového televizního vysílání musí řada lidí nakoupit modernější zařízení, upravit antény nebo přejít na kabelové či internetové vysílání. 

Reklama
Reklama
Obrázek ke článku Zavádění Master Data Management v praxi

Zavádění Master Data Management v praxi

Předchozím článku jsme si vysvětlili, co jsou to Master Data, kdy je firma obvykle začíná řešit, v jakých krocích postupovat a jak nám může pomoci zvláštní nástroj pro evidenci Master dat. V tomto článku se podíváme na dvou příkladech, jak prakticky začít Master data řešit.

1. Nová Master Data, která potřebujeme někde spravovat
2. Zmapování existujících Master dat a určení jejich vlastníků

Obrázek ke článku 5 nesprávných důvodů, proč dělat vlastní mobilní aplikaci

5 nesprávných důvodů, proč dělat vlastní mobilní aplikaci

Myslíte si, že máte skvělý nápad na byznys apku a znáte všechno, co potřebujete? Možná vám vývoj software na míru rozmluví Vláďa Skoumal, z firmy studio SKOUMAL vyvijející mobilní aplikace 5.11. 2019 v 18:00 v Impact Hub Praha nebo tento jeho článek.


 

Obrázek ke článku Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Celkem 66 % uživatelů zajímá rozšířená realita v oblasti gamingu. Mezi nimi je i 35 % těch, kteří jinak hry nehrají.
Pro téměř 50 % respondentů by bylo zajímavé zapojení virtuální objektů do reálného světa. Objekty by zůstaly tam, kde je při hře „umístili“.
Až 43 % uživatelů láká využití rozšířené reality ve sportu

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý