TOC

This article has been localized into Italian by the community.

Razor:

Istruzione IF

Quando si definisce il markup delle vostre View, è estremamente utile poter definire una istruzione condizionale, la quale decide se una porzione della View è interpretata ed inviata all'ouput oppure no. L'istruzione condizionale più comune è l'istruzione IF e potete utilizzarla nel vostro codice Razor esattamente come le usate nel vostro codice C#. Semplicemente prefissate la parola chiave if con l'operatore Razor @ e siete a posto.

L'istruzione If

Esso un esempio di una semplice istruzione if in Razor. Ricordate che questo può essere incluso direttamente nelle vostre View insieme a normale markup HTML:

@if(DateTime.Now.Year == 2042)
{
    <span>The year 2042 has finally arrived!</span>
}

Come potete vedere si tratta di puro C# mischiato con HTML. Dovete però considerare due cose. Prima di tutto, in codice C# "normale" avremmo potuto eliminare le parentesi graffe perchè c'è una sola linea di codice per la condizione. Ma questo non è permesso in Razor. Non importa quante linee seguono le vostre strutture di controllo, esse devono sempre essere circondate da un paio di parentesi graffe. Secondo, notate come siamo passati direttamente dal C# al markup HTML. Questo è possibile perchè il "parser" può capire facilmente la differenza fra HTML ed il codice C#. Ma d'altra parte, se avessi scritto solo una linea di testo, senza nessun tag HTML, il "parser" si sarebbe confuso. Per casi come questo dovete usare il tag <text>, come descritto in precedenza:

L'istruzione if-else

Spesso, quando c'è una "if" c'è anche una "else" e questo naturalmente vale anche per Razor. Potete creare istruzioni if-else proprio come fareste in C#. Ecco un esempio:

@if(DateTime.Now.Year >= 2042)
{
    <span>The year 2042 has finally arrived!</span>
}
else
{
    <span>We're still waiting for the year of 2042...</span>
}

Riepilogo

Utilizzare le istruzioni if in Razor è molto semplice, proprio come in C#. In combinazione con l'utilizzo di altri costrutti del linguaggio C# come i loop fa in modo che Razor sia una "template engine" molto potente per le vostre pagine in ASP.NET MVC

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!