# MVC arhitektura Ovaj materijal dio je ishoda učenja 4 (minimum). ## 11 Pregled - Korištenje query stringa - Filtriranje - Sortiranje - Straničenje (paging) - Korištenje kolačića: https://positiwise.com/blog/how-to-use-cookies-in-asp-net-core - Korištenje sessiona: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-8.0 - Korištenje TempData ### 11.1 Postavljanje vježbe **Postavljanje SQL poslužitelja** U SQL Server Management Studiju učinite sljedeće: - koristite skriptu za stvaranje baze podataka, njezine strukture i nekih testnih podataka: https://pastebin.com/jtJfak9E **Starter projekt** > Sljedeće je već dovršeno kao projekt starter: > > - Postavljeni modeli i repozitorij > - Podešen "Launch settings" > - Stvoreni osnovni CRUD prikazi i funkcionalnost (Genre, Artist, Song) > - Implementirana validacija i označavanje korištenjem viewmodela > > Za detalje pogledajte prethodne vježbe. Raspakirajte starter arhivu i otvorite rješenje u Visual Studiju. Postavite connection string i pokrenite aplikaciju. Provjerite radi li aplikacija (npr. navigacija, popis pjesama, dodavanje nove pjesme). > U slučaju da ne radi, provjerite jeste li ispravno slijedili upute. ### 11.2 Query stringovi: prosljeđivanje podatka kao dijela query stringa u URL-u Kada očekujete da Vaš URL sadrži stanje, niz upita obično je dobar kandidat za pohranu tog stanja. Na primjer, stvorimo krajnju točku koja će vratiti samo pjesme s trajanjem između dvije zadane vrijednosti. Koristite metodu `Index()` kao predložak, jer vraća popis pjesama, a to nam treba. Također su Vam potrebne dvije vrijednosti za ograničenje trajanja pjesme: - min - max Učinite ih nulabilnim, tako da korisnik može odlučiti odabrati samo minimalno ili samo maksimalno trajanje. > Napomena: ovdje "posuđujemo" prikaz `Index`. ``` public ActionResult GetSongsByDuration(int? min, int? max) { try { IEnumerable