2008-11-05 6 views
5

Je n'arrive pas à obtenir le débogage JavaScript pour mon application ASP.NET MVC, même si je peux le faire pour une application ASP.NET WebForm traditionnelle.Comment puis-je obtenir le débogage Javascript pour fonctionner avec mon application ASP.NET MVC?

J'ai suivi les étapes pour décocher les cases 'Disable Script Debugging' pour IE et les autres.

Lorsque j'ajoute une fonction simple pour afficher une alerte à la fois dans site.master et dans toute vue de contenu, le point d'arrêt ne se déclenche pas.

Ai-je manqué quelque chose d'évident ou ai-je besoin d'utiliser un outil externe pour le débogage comme FireBug?

Soit dit en passant, j'utilise Visual Studio Web Developer Express 2008.

thx

Répondre

-1

Je n'utilise VS.Net Express, mais VS.Net standard, vous pouvez aller à la Debug menu dans votre solution et choisissez "Joindre au processus". Vous pourrez ensuite choisir le type de débogage: Native, Managed ou Script. Sélectionnez Script, puis sélectionnez votre processus dans la liste. Une liste de scripts va maintenant apparaître dans votre IDE. Cliquez sur le script que vous voulez déboguer, lancer un ou deux points d'arrêt, et vous devriez être prêt à partir. Si MS a dérangé la version Express de manière à ce que vous ne puissiez pas vous attacher à un processus, alors je suppose que vous êtes coincé et que vous aurez besoin de la mise à jour $$$ (ce qui ne me surprendrait pas vraiment). Hey, qu'est-ce que vous voulez gratuitement? :)

+0

Je ne pense pas que ce soit Express, comme indiqué dans la publication, le débogage Javascript fonctionne dans l'application WebForm dans Express, mais pas MVC. –

2

VS JS débogage peut fonctionner, mais ... Honnêtement, obtenez Firebug. C'est gratuit, et fait beaucoup, beaucoup plus que le débogueur VS.

1

Voici ma solution de contournement pour le débogage de javascript dans MVC. VS2008 ne reprend pas les points de rupture pour javascript dans une page aspx, mais il le fera pour un fichier .js distinct. Je crée un fichier debugJscript.js lorsque je travaille sur une page. Je crée une référence à cette page de débogage à partir de ma page ASPX. Je peux passer par javascript de cette façon et ensuite repasser le code javascript sur la page aspx quand j'en suis content.

Vous pouvez éviter les problèmes de mise en cache, aussi, sur ce .js externes fichier si vous faites référence à votre dossier comme ceci:

<script type="text/javascript" src="../../Scripts/DebugJScript.js?<%=DateTime.Now %>" ></script>  
+0

Garder votre js dans un fichier séparé est une meilleure approche en général, pas seulement pour le débogage. –

6
function test() 
{ 
    debugger; 
    alert("hi"); 
} 

Je ne sais pas si cela fonctionnera avec express, mais quand IE rencontre l'instruction "debugger", il me demande si je veux déboguer, et avec quel outil. Visual Studio est présent dans la liste des options qui me sont présentées.

Je ne sais pas si express sera présent pour vous si. "Debugger" fonctionne également avec firebug.

5

J'ai juste eu ce problème aujourd'hui aussi. Le débogueur ne sait pas où sont les fichiers de script si vous les incluez dans la vue mvc.

Placez-les dans un fichier externe .js (disons default.js) dans le dossier des scripts, ajoutez une balise de script dans le fichier site.master, puis vous atteindrez vos points d'arrêt.

+0

place sur mate !!! –

Questions connexes