Index

We gaan starten met onze index pagina. Hier komen alle films op dat we willen bekijken. Deze staan nog niet in detail. We kunnen alleen de titel van de film zien, en misschien ook een beschrijving. Hier gaan we de film kunnen aanklikken om ze meer in detail te bekijken.

We starten met in het mapje Models een klasse MovieListViewModel te maken. Hier steken we alleen de properties dat handig zijn voor onze indexpagina.

Ook hier geven we het id mee. We willen namelijk dat als we op een film klikken, dat deze het id gebruikt om onze methode GetMovie te kunnen oproepen.

In onze Index methode in de MovieController klasse kunnen we nu extra code toevoegen, zodat onze View methode de MovieListViewModel meeneemt.

Je zou kunnen denken dat het genoeg zou zijn om alle films op te vragen met GetMovies, aangezien we ze toch ook allemaal willen laten zien.

Het probleem hier is dat we

  • Veel meer data zouden gebruiken dan nodig. Wat als een film 100 properties heeft, maar we willen alleen de titel laten zien?
  • Nog geen gebruik maken van onze MovieListViewModel, terwijl dat als we 100% correct zouden werken, deze verwacht wordt in onze view.

We gaan dus nog even LINQ moeten gebruiken om er een IEnumerable<MovieListViewModel> van te maken, met alleen de nodige properties.

In het mapje Views maak je nu een mapje Movie, en daarin maak je een view Index. Let op de naamgeving, zeker als je iets anders maakt dan films!

We starten met ons model aan te duiden. We zitten hier met een lijst van MovieListViewModel. We hebben er namelijk meer dan één, dus we gebruiken IEnumerable<MovieListViewModel>.

Hieronder voegen we basis HTML code toe om onze films te displayen.

In onze tbody willen we nu een loop maken dat alle films afgaat en in de tabel neerschrijft.

Uit het Model halen we de Title en Description. Het Id steekt er ook in, maar dat is alleen maar handig achterliggend en de gebruiker heeft daar niet veel aan.

Wederom kan je in _Layout.cshtml een verwijzing maken naar de films.

In de constructor van MovieDatabase kunnen we al een paar films toevoegen die we altijd te zien gaan krijgen als we de applicatie starten, zodat we makkelijker kunnen testen.

Als we nu naar de juiste pagina gaan, zien we inderdaad een lijst van de ingegeven films.