CURARE LA UI CON BOOTSTRAP E FONTAWESOME

Per migliorare la UI quello che possiamo fare come sviluppatori è quello di procurarci librerie lato client come Bootstrap e Fontawesome per migliorare la parte grafica del sito web.

Bootstrap mette a disposizione una griglia di dodici colonne. Se prendiamo la classe .col-xl-4 la sua larghezza sarà di 1/3 della griglia se lo schermo dell’utente è xl, cioè extra large.

Se la finestra del browser dovesse ridursi gli elementi verranno organizzati uno sotto l’altro.

Per utilizzare Bootstrap occorre scaricare un file CSS e le librerie Javascript che danno regole stilistiche. Normalmente vengono scaricati da una CDN (Content Delivery Network), il vantaggio è che questi server contenenti i file sono utilizzati moltissimo quindi è facile che nella cache del Browser siano già memorizzati. Andiamo a copiare i file dal seguente link: https://getbootstrap.com/docs/5.3/getting-started/introduction/ Copiare i file nella View di Layout in quanto vogliamo che questi file siano presenti in tutte le pagine. Inseriamo una navbar, per ulteriori informazioni guarda il mio corso su Bootstrap 5. La stessa cosa fatta per Bootstrap la possiamo fare per Fontawesome che sono essenzialmente dei font web e delle icone da inserire nei pulsanti per meglio comprenderne il ruolo.

I TAG HELPER
I tag Helper vengono elaborati dal View Engine Razor e sono arricchiti di altri attributi che non abbiamo in HTML come ASP-ACTION e ASP-CONTROLLER del tag Anchor. Uno dei vantaggi nell’usare questi tag è che la View rimane estremamente leggibile.

Vediamo il tag Anchor. Questo tag genera un indirizzo dinamico in base ai parametri forniti.

Vediamo la variante per le Razor pages.

Prima di usare i Tag Helper dobbiamo creare una View chiamata _ViewImports.cshtml, vediamo la suddivisione in directory.

Questo è un altro Tag, Environment molto importante.

Vediamo la controparte exclude.

CREARE LA VIEW DEL CATALOGO DEI CORSI
Vediamo un’immagine riepilogativa di ciò che andremo a realizzare. Al momento non attingendo ancora i dati da un database utilizzeremo dati fittizi.

Se vogliamo che la View sia responsive dobbiamo usare il grid system di Bootstrap.

RIEPILOGO DELLA SEZIONE
Nel pattern MVC, le view hanno la responsabilità di presentare in HTML i dati che vengono forniti dal controller. Oltre al codice HTML, le view possono contenere codice C# a supporto della presentazione dei dati (cicli for per scorrere una lista, blocchi if per mostrare/nascondere una porzione di markup, e così via).
In ASP.NET Core MVC, le view sono dei file che hanno un'estensione .cshtml che indica per l'appunto che in esse possiamo inserire sia codice HTML che codice C#.
Le view devono essere "stupide". Per nessun motivo dovrebbero contenere codice di accesso al database, di invio e-mail, o di qualsiasi altra attività che richiede la comunicazione con il mondo esterno perché queste sono responsabilità del model. Inoltre, sarà il controller che, in qualità di coordinatore, dovrà sfruttare il model per fornire alla view tutti i dati che le servono, né più, né meno.
Razor è il nome del view engine di ASP.NET Core MVC, cioè del componente che si occupa di elaborare il file .cshtml per generare il contenuto finale della pagina.
View di contenuto e view di layout
Le view si trovano all'interno della directory /Views del progetto. Servono a due scopi principali:
- Le view di contenuto sono create per aiutare le singole action a produrre dinamicamente del contenuto HTML. Per questo, se vogliamo seguire la convenzione di nomi di ASP.NET Core MVC, dovremmo dare alla view lo stesso nome dell'action e inserirla in una sottodirectory che si chiama come il controller. Ad esempio, la view relativa all'action Index del CoursesController è preferibile che sia creata in /Views/Courses/Index.cshtml;
- Le view di layout sono anch'esse dei file con estensione .cshtml e contengono gli elementi comuni dell'applicazione web come l'header, il menu di navigazione, footer e così via. Per rispettare la convenzione di nomi, è preferibile creare una view di layout in /Views/Shared/_Layout.cshtml. Possiamo avere più di una view di layout, quindi non è obbligatorio rispettare questo nome. Anche l'uso dell'underscore è consigliato (ma non obbligatorio) e serve soltanto a far capire che il contenuto di questa view è riutilizzato e condiviso da altre view, come indica anche la directory Shared in cui si trova.
Ogni view di contenuto può scegliere quale view di layout usare. È sufficiente mettere in cima al file questa istruzione.
- @
Per evitare di ripetere questa istruzione in tutte le view di contenuto, la possiamo spostare all'interno di un file /Views/_ViewStart.cshtml, che verrà eseguito prima che ogni view di contenuto sia elaborata.
All'interno della view di layout, aggiungiamo invece un'istruzione @RenderBody() per indicare il punto in cui sarà incastonato l'output HTML prodotto dalla view di contenuto.
Sezioni aggiuntive nella view di layout
Una view di layout può anche definire delle sezioni aggiuntive. Un esempio tipico è quello di una sezione chiamata "Scripts" in cui la view di contenuto potrà inserire del codice JavaScript, che è buona pratica inserire subito prima del tag di chiusura


Scrivi un commento