2012-03-03 25 views
5

Utilizzando ASP.NET MVC può essere utilizzato il motore di visualizzazione Razor.Quali classi e funzioni C# possono essere utilizzati nel rasoio?

Il rasoio consente di utilizzare il codice C# dopo il segno @.

Come esempio

@if (Model.Category == "watersports") 
{ 
    <p>Splash!!</p> 
} 

Inoltre si può usare qualcosa come @DateTime.Now per ottenere il tempo corrente. La mia domanda è: quali funzioni possono essere utilizzate? Da dove Razor li importa?

+1

Si _can_utilizzare tutto. Ma d'altra parte, la vista dovrebbe essere il più semplice possibile, quindi non esagerare. –

risposta

7

Qualsiasi classe pubblica. Vengono importati con @using MyNamespace. Puoi anche importarli nel file di configurazione

<system.web.webPages.razor> 

elemento.

+0

Nella mia vista codice non ho '@using MyNameSpace', ma posso ancora usare '@ DateTime.Now.ToShortTimeString()'. Perché? –

+0

Il sistema potrebbe essere già stato importato nel file di configurazione. –

+0

Capito. Lo spazio dei nomi è stato aggiunto nel file web.config. Grazie! –

1

È possibile utilizzare qualsiasi cosa. Fondamentalmente qualsiasi cosa dopo @ è come scrivere nel code-behind. Se vuoi che il codice all'interno del tuo @ non sia visto come codice, inseriscilo in un blocco <text></text>.

3

È possibile utilizzare tutto ciò che si desidera. Non è diverso dal codice in un file .cs. Se hai bisogno di usare qualcosa in un altro spazio dei nomi che non è già stato aggiunto al tuo web.config, puoi aggiungere le istruzioni usando proprio come faresti in un file .cs.

@using System.Collections.Generic;

Problemi correlati