2011-01-27 17 views
12

Estoy buscando una forma de hacer que mis archivos .js de referencia en mis archivos cshtml "maestros" lleguen a los archivos cshtml 'secundarios'.Javascript Intellisense en las páginas secundarias de Razor View Engine

tengo algo como esto en el archivo maestro, por lo que los archivos .js consigo siempre se hace referencia (y de hecho tengo intelisense js en el archivo maestro):

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

Sin embargo, cuando me refiero a la master.cshtml archivo en una página 'hija' de la siguiente manera:

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

No obtengo ningún javascript intelisense. I realmente no quiero tener que poner las etiquetas de scripts en la parte superior de cada página secundaria, hay muchas etiquetas de scripts y muchas páginas secundarias.

Respuesta

1

Esperaba encontrar una solución a esto también.

La mejor opción que he encontrado es usar siempre un archivo js externo. Crear un archivo algo así como Master.js en el uso de la parte superior de una trayectoria de referencia:

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

, entonces puede tener el IntelliSense. Aún debe incluir el archivo jquery antes de su nuevo archivo externo.

5

El editor Razor en este momento no puede inferir qué archivos de script están en uso (esto se debe a que las páginas de diseño de Razor se configuran mediante código y el editor no ejecuta una página de visualización). Desafortunadamente, tendrá que incluir esas etiquetas de script si desea que JavaScript IntelliSense funcione en sus páginas de visualización.

0

Así que no pierda el tiempo para averiguar por qué el truco no funciona, esto podría ser útil:

Si utiliza una ruta relativa, esto parece funcionar sólo si la ruta apunta a la misma solicitud. Una ruta absoluta al parecer funciona en todos los casos:

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

Los trabajos anteriores, siempre y cuando el archivo de script que se hace referencia se encuentra en la misma aplicación.

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

Lo anterior parece funcionar en cualquier caso.

Cuestiones relacionadas