2013-05-21 12 views
9

Tradizionalmente ho sempre inserito le direttive nelle pagine Rasoio ASP.NET in alto, insieme alla direttiva @model. Tuttavia, per il mio layout generale, voglio assicurarmi che la dichiarazione DOCTYPE sia all'inizio del documento, quindi voglio spingere un po 'il @using. Vorresti essere valido?Dove può essere posizionata la direttiva using nelle pagine di ASP.NET Razor?

<!DOCTYPE html> 
<html> 
    @using My.Library; 
    <head> 
     <title>Test web page</title> 
     ... 

Inoltre, c'è qualche documentazione su cui la direttiva @using può essere utilizzato in pagine rasoio? Non riesco a trovarlo. È valido utilizzarlo dopo qualche altro codice Razor, ad esempio, o deve apparire prima?

risposta

9

È valido ed è possibile utilizzare @using in qualsiasi punto prima che sia necessario tale libreria.

MSDN: linee di marcatura

HTML possono essere inclusi in qualsiasi parte del codice.

in modo da poter mettere DOCTYPE nella parte superiore della pagina.

+1

Avete qualche documentazione che lo confermi? – Jez

+1

OK, quindi penso che la regola sia che la direttiva '@ using' deve venire prima di qualsiasi altro codice Razor sulla pagina, ma non è necessario che sia effettivamente prima del normale markup HTML senza Rasoio. – Jez

6

Fino a .Net 4.5 ...

C'è un file web.config nelle Visualizzazioni cartella, è possibile aggiungere namespaces in là, che è globale per tutte le viste:

ad esempio:

<namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Web.Routing" /> 
     <add namespace="System.Globalization" /> 
     <add namespace="My.Library" /> 
</namespaces> 
+0

A meno che non si stia utilizzando .Net 5 e MVC dove non c'è più web.config, provare invece a utilizzare _ViewImports.cshtml, esempio di sintassi: @using Microsoft.AspNet.Mvc.ViewFeatures –