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
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 557×

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 Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Reklama
Reklama
Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Obrázek ke článku Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Znalosti, dovednosti i prestižní titul MBA: Jde to i moderně a online

Snad nikdy není špatná příležitost na investici do hodnotného vzdělání. Obzvlášť v případě, že absolvent dovede teoretické poznatky přetavit v praktické dovednosti, využitelné při řešení problémů i v komunikaci. Právě na to se specializuje studijní program MBA Řízení informačních technologií, vyučovaný na Business Institutu.

Obrázek ke článku Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Coding Bootcamp Praha: Obor IT krize nepoznamenala, žádaní jsou weboví vývojáři

Pandemie Covid-19 otřásla trhem práce v základech. Dopady krize pocítilo celkově až 45 % zaměstnanců. Není divu, že čím dál větší jistotu přináší obor IT. Ten zůstal krizí téměř nepoznamenán a při nutnosti začít dělat věci na dálku se ještě více ukázalo, jak moc mnohé firmy kvalitní IT potřebují. Do IT nyní přicházejí začátečníci, kteří v něm vidí lukrativní budoucnost a jistotu, ale i freelanceři a zaměstnanci z oborů zasažených krizí

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