Pracę z ASP.NET MVC 2 rozpoczyna się od utworzenia nowego projektu. Standardowo w Visual Studio wybieramy File->New->Project (lub korzystam z kombinacji klawiszy Crtl + Shift + N). W Visual Studio 2010 w sekcji Web mamy standardowo do wyboru dwa typy projektów ASP.NET MVC 2: ASP.NET MVC 2 Web Application oraz ASP.NET MVC 2 Empty Web Application, co widać na rysunku poniżej:

Czym różnią się oba szablony projektów? Drugi jak sama nazwa mówi tworzy pusty szablon projektu ASP.NET MVC 2. Natomiast w pierwszym szablonie na początku mamy stworzoną prostą stronę ASP.NET MVC 2, która głównie zawiera mechanizm uwierzytelniania. Dzięki czemu nie musimy tego sami pisać, tylko od razu możemy z tego korzystać.
Jedną z zalet ASP.NET MVC w stosunku do klasycznego ASP.NET jest to, że ASP.NET MVC umożliwia łatwe testowanie aplikacji za pomocą testów jednostkowych i ogólnie tworzenie aplikacji zgodnie z metodyką TDD. Dlatego podczas tworzenia nowego projektu ASP.NET MVC Visual Studio pyta się, czy ma wygenerować specjalny projekt dla testów jednostkowych. Co widać na rysunku poniżej:

Możemy sobie zdecydować, czy chcemy, aby Visual Studio wygenerowało testy jednostkowe. A jeśli tak to możemy zdefiniować sobie nazwę projektu oraz wybrać framework użyty do testów jednostkowych np. Visual Studio Unit Test lub NUnit.
Struktura projektu
W ASP.NET MVC bardzo ważna jest struktura projektu i konwencje w niej użyte. Na rysunku poniżej widać solution explorer dla nowo wygenerowanego projektu (szablon ASP.NET MVC 2 Web Application):

Na rysunku widać, że w ramach solution są dwa projekty: projekt ASP.NET MVC oraz projekt dla testów jednostkowych. Projektem testów jednostkowych zajmować się będziemy w jednym z kolejnych wpisów.
W głównym projekcie rozwiązania – projekt ASP.NET MVC – znajduje się kilka katalogów:
- Content – w tym katalogu znajdują się różnego rodzaju pliki wykorzystywane na stronie. Pliki takiej jak grafika, pliki kaskadowych stylów itp.
- Controllers – tutaj znajdują się klasy kontrolerów.
- Models – tutaj znajdować się będą klasy modelu.
- Scripts – tutaj znajdują się pliki skryptów java script. Domyślnie są dodane pliki dla biblioteki Microsoft Ajax oraz jquery.
- Views – w tym katalogu znajdują się katalogi dla poszczególnych grupy widoków. Ważna jest konwencja nazewnicza. Nazwy katalogów odpowiadają dla nazw kontrolerów. I tak na przykładowym rysunku widać dwa kontrolery (AccountController oraz HomeController) w katalogu Controllers i odpowiadające im dwa katalogi dla widoków dostępnych dla tych kontrolerów (katalog Account oraz Home w katalogu Views). Teoretycznie konwencje można zmieniać ale jednak lepiej zostawić ją jaka jest.
Dodatkowo w katalogu Views znajduje się specjalny katalog Shared, w którym znajdują się wspólne widoki, kontroli czy master page dla wszystkich widoków z pozostałych katalogów. W przykładzie są to widok błędów, kontrolka do logowania użytkownika w aplikacji oraz główny master page.
Dwoma pozostałymi elementami projektu to plik konfiguracyjny Web.config oraz Global.asax. Pierwszy plik to plik konfiguracyjny aplikacji. W drugim natomiast znajduje się globalna klasa aplikacji, a w niej bardzo ważny routing, o którym dokładnie będzie jeszcze w jednej z części tej serii artykułów.
Tags: asp.net mvc,
mvc
Categories: Techniczne
65b741dc-0a70-4529-8168-e4bd4b46655d|3|4.7