2011-01-27 18 views
12

Sto cercando un modo per ottenere i miei file .js di riferimento nei miei file cshtml "master" per passare ai file cshtml "figlio".Javascript Intellisense nelle pagine figlio Razor View Engine

ho qualcosa di simile nel file master, in modo che i file .js sempre trovato fa riferimento (e in effetti ho intellisense js nel file master):

if (false) 
{ 
    <script type="text/javascript" src="../scripts/jquery.js"></script> 
} 

Tuttavia quando fanno riferimento al master.cshtml file in una pagina "figlio" come questa:

@{ 
    Layout = "~/Views/Shared/master.cshtml"; 
} 

Non ottengo alcun javascript intellisense. I davvero non voglio dover mettere i tag di script nella parte superiore di ogni pagina figlio, ci sono un sacco di tag script e un sacco di pagine figlio!

risposta

1

Speravo di trovare una soluzione anche a questo.

L'opzione migliore che ho trovato è quella di utilizzare sempre un file js esterno. Crea un file come Master.js in alto usa un percorso di riferimento:

/// <reference path="../../Scripts/jquery-1.4.4.js"/> 

Quindi puoi avere l'intellisense. Devi ancora includere il file jquery prima del tuo nuovo file esterno.

5

L'editor di Razor non può in questo momento dedurre quali file di script sono in uso (questo perché le pagine di layout di Rasoio sono impostate tramite codice e l'editor non esegue una pagina di visualizzazione). Sfortunatamente dovrai includere quei tag di script se vuoi che JavaScript IntelliSense funzioni nelle tue pagine di visualizzazione.

0

Così non si perde il tempo di capire il motivo per cui il trucco non funziona, questo potrebbe essere utile:

Se si utilizza un percorso relativo, questo sembra funzionare solo se il percorso per lo stesso applicazione. Un percorso assoluto a quanto pare funziona in tutti i casi:

reference path="../../Scripts/jquery-1.4.4.js" 

Le opere di cui sopra fino a quando il file di script si fa riferimento è nella stessa applicazione.

reference path="http://localhost/Scripts/jquery-1.4.4.js" 

Quanto sopra sembra funzionare in ogni caso.

Problemi correlati