Pokazywanie postów oznaczonych etykietą MVC. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą MVC. Pokaż wszystkie posty
niedziela, 9 kwietnia 2017
MVC - cykl życia
Źródło: https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/lifecycle-of-an-aspnet-mvc-5-application
1. Http Request
Czyli żądanie z przeglądarki, w którym za pomocą adresu można przekazać, który widok interesuje odbiorcę, ewentualnie parametry
2. Routing
W pliku RouteConfig.cs przypisane są wzorce przebiegu trasy. Visual Studio sam zapisuje te wzorce na podstawie dodanych kontrolerów i widoków z nich wywoływanych
Czyli jedną stronę możemy wywołać w różny sposób:
http://mojastrona.pl
http://mojastrona.pl/Home
http://mojastrona.pl/Home/Index
pod warunkiem, że dodano kontroler o nazwie HomeController oraz widok Index, a w kontrolerze zdefiniowano wywołanie widoku
3. MvcHandler
W tym miejscu jest wybierany odpowiedni kontroler na podstawie adresu w HTTP Request
4. Authentication and Authorization - filtry sprawdzające czy użytkownik wysyłający żądanie przeszedł pozytywnie uwierzytelnienie (logowanie) i ma prawo do przeglądania treści tej strony
5. Model binding
Na podstawie adresu żądania rozwiązywane są parametry, np.
http://mojastrona.pl/Home/edit/2
W kontrolerze Home znajduje się metoda edit, która przyjmuje 1 parametr (np. typu int).
6. Action Method Invocation
MVC będzie próbować wykonać metodę z punktu powyżej za pomocą funkcji InvokeAction.
7. Result Execution
Na podstawie wyników poprzednich metod zwracany jest instancja klasy dziedziczącej po ActionResult. Może to być np: ViewResult, RedirectResult, ContentResult, JsonResult, JavaScriptResult, FileResult, EmptyResult
8. Http Response
Zwraca wyrenderowany widok, może to być np. Razor lub ASPX.
sobota, 1 kwietnia 2017
Model w projekcie
W katalogu Models utworzona został klasa wizyt w gabinecie kosmetycznym:
public class Wizyta
{
public int Id { get; set; }
public string Imie { get; set; }
public string Nazwisko { get; set; }
public string Telefon { get; set; }
public string Email { get; set; }
public DateTime Data_od { get; set; }
public DateTime Data_do { get; set; }
public string RodzajZabiegu { get; set; }
public Boolean Potwierdzona { get; set; }
}
Pola zawierają wszystkie niezbędne elementy, które będą odzwierciedleniem bazy danych.
Na adres e-mail będzie wysyłany link, z prośbą o potwierdzenie rezerwacji wizyty.
Niezbędne jest dodanie drugiej klasy:
public class WizytyDBCtxt : DbContext
{
public DbSet<Wizyta> Wizyty { get; set; }
}
Klasa ta będzie odpowiedzialna za obsługę (pobieranie, przechowywanie, dodawanie itd.) danych w tabeli 'Wizyta' w bazie danych. Dziedziczy po klasie DbContext z Entity Framework.
public class Wizyta
{
public int Id { get; set; }
public string Imie { get; set; }
public string Nazwisko { get; set; }
public string Telefon { get; set; }
public string Email { get; set; }
public DateTime Data_od { get; set; }
public DateTime Data_do { get; set; }
public string RodzajZabiegu { get; set; }
public Boolean Potwierdzona { get; set; }
}
Pola zawierają wszystkie niezbędne elementy, które będą odzwierciedleniem bazy danych.
Na adres e-mail będzie wysyłany link, z prośbą o potwierdzenie rezerwacji wizyty.
Niezbędne jest dodanie drugiej klasy:
public class WizytyDBCtxt : DbContext
{
public DbSet<Wizyta> Wizyty { get; set; }
}
Klasa ta będzie odpowiedzialna za obsługę (pobieranie, przechowywanie, dodawanie itd.) danych w tabeli 'Wizyta' w bazie danych. Dziedziczy po klasie DbContext z Entity Framework.
niedziela, 26 marca 2017
MVC
Model ten korzysta z wzorca MVC - ciekawe sformułowanie :)
M jak Model
W katalogu Models, umieszczamy kod, który odzwierciedla strukturę naszej bazy danych. Są dwa podejścia: code-first - my tworzymy pliki zawarte w tym katalogu lub database-first pliki są automatycznie wykonanym zrzutem naszej bazy. Pliki są normalnymi klasami.
V jak Widok
Pliki umieszczamy w folderze Views. Pliki odpowiedzialne są za prezentację danych dostarczonych przez kontroler. Tutaj używamy HTML‚ CSS i innych języków do zarządzania wyglądem naszej strony. Wybrany do projektu silnik renderujący kod to ASPX.
C jak kontroler
Pliki składowane są w folderze Controllers. Kod zajmuje się odbiorem, analizą i przetwarzaniem danych zarówno tych pobranych z bazy danych jak i wprowadzonych przez użytkownika. Kontroler ma możliwość zarządzania informacji z bazy od modelu, wysłania danych do modelu.
Zalety
1. Logiczna struktura katalogów
2. Izolacja logiki od interfejsu użytkownika
3. Łatwa testowalność kodu
4. Przejrzystość
M jak Model
V jak Widok
Pliki umieszczamy w folderze Views. Pliki odpowiedzialne są za prezentację danych dostarczonych przez kontroler. Tutaj używamy HTML‚ CSS i innych języków do zarządzania wyglądem naszej strony. Wybrany do projektu silnik renderujący kod to ASPX.
C jak kontroler
Pliki składowane są w folderze Controllers. Kod zajmuje się odbiorem, analizą i przetwarzaniem danych zarówno tych pobranych z bazy danych jak i wprowadzonych przez użytkownika. Kontroler ma możliwość zarządzania informacji z bazy od modelu, wysłania danych do modelu.
Zalety
1. Logiczna struktura katalogów
2. Izolacja logiki od interfejsu użytkownika
3. Łatwa testowalność kodu
4. Przejrzystość
Subskrybuj:
Posty (Atom)