2009-02-10 7 views
1

Je suis assez inexpérimenté avec asp.net ajax et j'ai un problème où une erreur javascript est levée (objet non trouvé).Qu'est-ce que cela signifie quand une erreur js pointe vers une partie de viewstate?

Le débogueur puis arrête et les points à une sous-chaîne de mon viewstate il ressemble à quelque chose comme ce qui suit (pas exactement ce que mon état d'affichage est énorme) avec la section entre les points de suspension mis en évidence:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" 
     value="ObMUE...X78PmJHLJkWcHW4OXxH7/QxjqBI...m2" /> 

Le callstack est tout aussi inutile, la lecture

JScript - fonction anonyme form1

Qu'est-ce que cela signifie et comment puis-je le déboguer?

Modifier: Comme je l'ai indiqué dans certains commentaires, Firebug n'est pas une option. L'application est strictement IE seulement (nous essayons de résoudre ce problème mais c'est un peu loin) et ne fonctionne pas avec un autre navigateur.

+0

Quel genre de référence ScriptResource.axd et WebResource.axd avez-vous? Je ne peux pas imaginer que viewstate soit impliqué dans une erreur JS. – bendewey

+0

regular System.Web.Handlers.ScriptResourceHandler. Je ne sais même pas ce que WebResource.axd est, il n'est référencé nulle part dans mon projet autant que je sache –

+0

Quel débogueur utilisez-vous? Avez-vous essayé le débogueur de script dans IE8? –

Répondre

0

Déboguer par les messages d'erreur du navigateur, en particulier IE, est notoirement difficile. Même des conditions d'erreur simples, comme une référence invalide, conduisent à des messages extrêmement cryptiques.

Je recommanderais un bon débogueur Javascript, tel que FireBug. Il rend la recherche et la résolution de problèmes javascript beaucoup, beaucoup plus facile.

+0

Pas une option. L'application est IE seulement. C'est en fait un cuit dans le code putain que le navigateur doit être IE. –

1

Le numéro de ligne indiqué dans votre erreur est susceptible d'induire en erreur. Je recommanderais de passer par le javascript avec un débogueur. Je le fais habituellement avec IE et Visual Studio ou le débogueur de script Microsoft (consultez this link pour les directions). Il y a aussi un bon débogueur dans Firefox appelé Firebug. Ou, si vous utilisez Visual Studio 2008, vous pouvez simplement mettre un point d'arrêt sur une ligne javascript et appuyer sur F5.

EDIT: Oups, je ne savais pas que vous utilisiez déjà un débogueur. Votre page émet-elle du javascript via ScriptManager.RegisterClientScriptBlock, etc? Qu'en est-il des fichiers inclus, utilisez-vous des frameworks js d'où l'erreur peut provenir?

+0

Je sais à propos de Firebug, mais firefox n'est pas une option –

+0

Eh bien, si vous avez VS2008, il suffit de mettre un point d'arrêt sur une déclaration javascript et appuyez sur play. Sinon, consultez http://blogs.msdn.com/ie/archive/2004/10/26/247912.aspx pour obtenir des instructions sur le débogage javascript dans IE. –

+0

Je connais le déboguage de script (sinon, il n'entrerait pas dans le débogueur) mais comme je l'ai dit, ma callstack a exactement une entrée et c'est une "fonction anonyme". De toute façon je peux regarder ce que c'est exactement? –

Questions connexes