¿Por qué no puedo depurar scripts que residen en una vista parcial, que se crea en tiempo de ejecución? Para ver el guión en la lista de guiones (en Chrome, por ejemplo) y depurarlo, tengo que moverlo a la vista "normal" en el nivel superior o tengo que moverlo a un archivo .js separado. Pero, ¿qué pasa si el script es tan pequeño que no quiero moverlo a ningún lado y todavía quiero poder depurarlo?

18
iLemming 1 ago. 2011 a las 20:06

3 respuestas

La mejor respuesta

Si no carga la vista parcial a través de ajax (la vista está en su lugar en la representación inicial de la página), puede usar 'depurador'. Si el código que desea ejecutar se agrega al dom, IE no sabrá dónde se encuentra el código real que desea depurar. Entonces:

// javascript
var foo = 2;
debugger;
// more javascript
22
John Kalberer 1 ago. 2011 a las 16:11

Hay una forma mucho mejor de hacer esto ahora, solo use la sintaxis

//@@ sourceURL=someValue

Inmediatamente después de abrir su etiqueta de script. Ejemplo:

<script type="text/javascript">
    //@@ sourceURL=_fooPartialView.cshtml
    function foo() {}
</script>

--editar--

Aparentemente, debido a algún problema de compatibilidad con IE, la asignación de fuente de JavaScript se ha cambiado de lo anterior a:

//# sourceURL=_fooPartialView.cshtml

También tenga en cuenta que, aunque no se mencionó anteriormente, el @@ solo era necesario para el mapeo de la fuente en las vistas de afeitar ya que "@" tenía otro significado.

15
omatase 19 jun. 2014 a las 20:35

En general, se considera una mala práctica incluir un script dentro de una vista parcial. Podría encontrarse con todo tipo de problemas con múltiples referencias de script y rendimiento. El mejor enfoque aquí es asegurarse de que el script se mueva a un marcador de posición en su etiqueta principal. Para ver algunos ejemplos sobre esto, consulte:

Vinculación de bibliotecas de JavaScript en controles de usuario

Y

Incluir archivo JavaScript en vistas parciales

Si insiste en cargar el script desde el parcial, el enfoque de 'depurador' anterior es muy efectivo.

5
Community 23 may. 2017 a las 11:54