2011-07-24 17 views
12

El siguiente fragmento activa una advertencia de "Compilación condicional desactivada" en una de mis vistas. ¿Tienes una idea sobre cómo solucionarlo?Advertencia de compilación condicional desactivada al mezclar razor y javascript

<script type="text/javascript"> 
    $(document).ready(function() { 
     @RenderSection("JQueryDocumentReady",false) 
    }); 
</script> 

Intenté insertar un punto y coma al final de la instrucción de la sección de renderizado pero no ayudó.

Gracias.

+0

Nota para los demás: a pesar de los errores que aparezcan en el código, el código de afeitar está siendo ejecutado/compilado correctamente. Así que el compilador es capaz de manejar razor/JS, es solo el intellisense o cualquier componente que muestre los garabatos como usted que tiene un problema. – AaronLS

Respuesta

12

NOTA: se aceptó la respuesta debido a una sugerencia alternativa a la pregunta, no a una solución dada para el problema en el título.

No estoy 100% seguro de que la compilación condicional tiene que ver con estar en un bloque <script>, pero sí encontré que el ajuste de las declaraciones entre paréntesis solucionó el problema.

@(RenderSection("JQueryDocumentReady")) 

Creo que este método tiene un poco de olor código embargo. No es un problema simplemente tener una sección de guiones y asignar cosas al documento listo en cada página. Realmente no le ahorrará mucho trabajo, y le obligará a colocar javascript en las vistas fuera de las etiquetas de scripts de la forma en que ha elegido hacerlo.

+5

Esto introduce otra advertencia: * Carácter inválido * en el paréntesis de apertura. Creo que esta es una causa perdida. Solo tenemos que esperar una mejor integración de Razor en vNext. –

+0

@NickLarsen Acepte el javascript fuera de la parte de las etiquetas de script. Gracias por tu respuesta y consejo. – nakhli

+0

@DarinDimitrov: Lo veo ahora, simplemente no lo destaco en el editor. –

0

puede probar

$(document).ready(function() { '@RenderSection("JQueryDocumentReady",false)'; });