Routing

Routing
  • Je weet hoe je een (nieuwe) pagina kan koppelen aan een nette url
lgg .net visual studio
Of eigenlijk: een nieuwe pagina maken
1 / 11
next
Slide 1: Slide
InformaticaMiddelbare schoolvwoLeerjaar 5

This lesson contains 11 slides, with text slides.

time-iconLesson duration is: 45 min

Items in this lesson

Routing
  • Je weet hoe je een (nieuwe) pagina kan koppelen aan een nette url
lgg .net visual studio
Of eigenlijk: een nieuwe pagina maken

Slide 1 - Slide

Wat is nou het verschil tussen een route?
Vroegâh, toen jullie nog in repl.it websites maakten, maakte je een linkje naar een andere pagina door naar het bestand te linken. B.v. een linkje naar "/contact.html"

Maar nu, nu jullie een échte website aan het maken zijn gebruiken we geen linkjes meer naar bestanden maar routes. Met een route zeg je eigenlijk hoe er met een bepaalde url wordt omgegaan. Hierdoor kan je "mooie" url's maken zonder die "lelijke" bestandstypes in je url.



Slide 2 - Slide

Server en client
Maar voordat we verder kunnen met dit geweldige verhaal is er een stukje context nodig. Jullie moeten namelijk weten dat er zoiets bestaat als een server en een cliënt

Als je een url in tikt of op een linkje klikt doe je dat op je eigen apparaat. Dat is de cliënt. Jouw apparaat stuurt dan een aanvraag (Request) naar de website. Die website staat ergens op een computer. De computer waar de website staat heet een server. Sommige mensen zeggen ook wel servert. Die mensen komen waarschijnlijk uit Rotterdam.

De code van de website die op de server draait levert dan een html bestand. Met bijbehorende css, plaatjes, filmpjes e.d. Die html wordt doorgaans gegenereerd op basis van allerlei variabelen en gegevens uit b.v. een database. 

Slide 3 - Slide

HomeController.cs
Index.cshtml
GetProducts()
De url is de route. Voordat je html kan typen kom je langs een controller. Daarin staat c# code en verzamel je de data die op je pagina moet komen. In dit geval de HomeController

Slide 4 - Slide

Model
Bepaalt welke data gebruikt wordt

View
Representatie; wat de gebruiker ziet

Controller
Verzamelt gegevens (logica)
M.V.C.
Dit patroon heet Model-View-Controller

Slide 5 - Slide

HomeController.cs
Index.cshtml
GetProducts()
Maar dit is hetzelfde. Want onder water gebeurt er dit:

/{controller}/{action}/

Slide 6 - Slide

HomeController.cs
Index.cshtml
GetProducts()
Kan je ook zo weergeven

Slide 7 - Slide

Voeg nu zelf toe
Een nieuwe action in HomeController.cs
Een nieuw bestand ShowAll.cshtml in de Home folder

Slide 8 - Slide

HomeController.cs
ShowAll.cshtml
Het stuk uit de url /showall matched met de action ShowAll() uit de Homecontroller

Slide 9 - Slide

Toch een andere url?
Dat kan. Hiervoor kan je een Route attribuut gebruiken. Dat is het stukje code tussen blokhaken hieronder: [Route("pad-naar-pagina")] Tussen de aanhalingstekens kan je (bijna) alles typen en dan wordt dat de url.

Handig als je bijvoorbeeld niet telkens /home/ in je url wil hebben!

Slide 10 - Slide

Waar zet ik die code dan?
In dit voorbeeld zie je de code staan op regel 21 t/m 25

Waar het om gaat is dat de functie (want het is een functie) tussen de accolades ('{ ... }') van de class HomeController staat. Tussen regel 8 en 16 in dit geval.

Het maakt niet uit of het boven of onderaan staat.

Slide 11 - Slide