Con le pagine Web è facile creare un sito web con un layout coerente.
Un aspetto coerente
Su Internet vi farà scoprire 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 il layout
Con pagine Web questo può essere fatto in modo molto efficiente. Si possono avere blocchi riutilizzabili di contenuti (content blocks) , come intestazioni e piè di pagina, in file separati.
È inoltre possibile definire un layout coerente per tutte le pagine, utilizzando un modello di layout (layout file) .
i blocchi di contenuto
Molti siti web hanno un contenuto che viene visualizzato su ogni pagina (like headers and footers) .
Con le pagine Web è possibile utilizzare la @ RenderPage() metodo per importare il contenuto da file separati.
Blocco di contenuto (from another file) può essere importato in qualsiasi punto di una pagina web, e può contenere testo, markup, e il codice, proprio come qualsiasi normale pagina web.
Uso di intestazioni e piè di pagina comuni come esempio, questo consente di risparmiare un sacco di lavoro. Non è necessario scrivere lo stesso contenuto in ogni pagina, e quando si modificano i file di intestazione o piè, il contenuto viene aggiornato in tutte le pagine.
Questo è 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>
Esempio Run » Utilizzando un layout di pagina
Nella sezione precedente, si è visto che tra cui lo stesso contenuto in molte pagine web è facile.
Un altro approccio per la creazione di un aspetto coerente è quella di utilizzare una pagina di layout. Un layout di pagina contiene la struttura, ma non il contenuto, di una pagina web. Quando una pagina web (content page) è collegato a un layout di pagina, esso sarà visualizzato in base al layout di pagina (template) .
Il layout di pagina è proprio come una normale pagina web, se non da una chiamata al @ RenderBody() metodo in cui sarà inclusa la pagina di contenuto.
Ogni pagina di contenuto deve iniziare con una direttiva Layout.
Questo è come appare nel codice:
Layout di pagina:
<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>© 2014 w3ii. All rights reserved.</p>
</body>
</html>
Qualsiasi pagina web:
@{Layout="Layout.cshtml";}
<h1>Welcome to w3ii</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>
Esempio Run » SECCO - Non Repeat Yourself
Con gli strumenti di due ASP.NET, blocchi di contenuto e pagine di layout, si può dare le vostre applicazioni web un aspetto coerente.
Questi strumenti anche risparmiare un sacco di lavoro, dal momento che non c'è bisogno di ripetere le stesse informazioni su tutte le pagine. La centralizzazione di markup, lo stile e il codice rende le applicazioni web molto più gestibile e più facile da mantenere.
Impedire che i file vengano Browsed
Con ASP.NET, i file con un nome che inizia con un trattino non possono essere sfogliati dal web.
Se si vuole evitare che i blocchi di contenuto o file di layout da essere visualizzate da utenti, rinominare i file a:
_header.cshtml
_footer.cshtml
_Layout.cshtml
Nascondere informazioni sensibili
Con ASP.NET, il modo comune per nascondere le informazioni sensibili (password del database, le password e-mail, etc.) è quello di mantenere le informazioni in un file separato chiamato "_AppStart" .
_AppStart.cshtml
@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}