¿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?
3 respuestas
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
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.
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.
Preguntas relacionadas
Preguntas vinculadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.