Pagine Web ASP.NET - Layout di pagina


Con Web Pages è facile creare un sito web con un layout coerente.


Uno sguardo coerente

Su Internet scoprirai molti siti web con un aspetto coerente:

  • Ogni pagina ha la stessa intestazione
  • Ogni pagina ha lo stesso piè di pagina
  • Ogni pagina ha lo stesso stile e layout

Con le pagine Web questo può essere fatto in modo molto efficiente. Puoi avere blocchi di contenuto riutilizzabili (blocchi di contenuto), come intestazioni e piè di pagina, in file separati.

Puoi anche definire un layout coerente per tutte le tue pagine, utilizzando un modello di layout (file di layout).


Blocchi di contenuto

Molti siti Web hanno contenuti visualizzati su ogni pagina (come intestazioni e piè di pagina).

Con le pagine Web puoi utilizzare il metodo @RenderPage() per importare contenuto da file separati.

Il blocco di contenuto (da un altro file) può essere importato ovunque in una pagina Web e può contenere testo, markup e codice, proprio come qualsiasi normale pagina Web.

Utilizzando intestazioni e piè di pagina comuni come esempio, questo ti fa risparmiare molto lavoro. Non devi scrivere lo stesso contenuto in ogni pagina e quando modifichi i file di intestazione o piè di pagina, il contenuto viene aggiornato in tutte le tue pagine.

Ecco come appare nel codice:

Esempio

<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>


Utilizzo di una pagina di layout

Nella sezione precedente, hai visto che includere lo stesso contenuto in molte pagine web è facile.

Un altro approccio per creare un aspetto coerente consiste nell'utilizzare una pagina di layout. Una pagina di layout contiene la struttura, ma non il contenuto, di una pagina web. Quando una pagina Web (pagina di contenuto) è collegata a una pagina di layout, verrà visualizzata in base alla pagina di layout (modello).

La pagina di layout è proprio come una normale pagina Web, ad eccezione di una chiamata al metodo @RenderBody() in cui verrà inclusa la pagina del contenuto.

Ogni pagina di contenuto deve iniziare con una direttiva Layout .

Ecco come appare nel codice:

Pagina di layout:

<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>&copy; 2014 W3Schools. All rights reserved.</p>
</body>
</html>

Qualsiasi pagina Web:

@{Layout="Layout.cshtml";}

<h1>Welcome to W3Schools</h1>

<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>

ASCIUTTO - Non ripetere te stesso

Con due strumenti ASP.NET, Blocchi di contenuto e Pagine di layout, puoi dare alle tue applicazioni web un aspetto coerente.

Questi strumenti ti fanno risparmiare anche molto lavoro, poiché non devi ripetere le stesse informazioni su tutte le pagine. La centralizzazione del markup, dello stile e del codice rende le applicazioni Web molto più gestibili e facili da mantenere.


Impedire la navigazione dei file

Con ASP.NET, i file con un nome che inizia con un trattino basso non possono essere esplorati dal Web.

Se desideri impedire che i tuoi blocchi di contenuto o file di layout vengano visualizzati dai tuoi utenti, rinomina i file in:

_header.cshtml

_footer.cshtml

_Layout.cshtml


Nascondere le informazioni sensibili

Con ASP.NET, il modo più comune per nascondere le informazioni sensibili (password del database, password e-mail, ecc.) consiste nel conservare le informazioni in un file separato denominato "_AppStart".

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}