2009-10-16 8 views
1

Je reçois l'erreur suivante:'Sys' est une erreur javascript undefined

Microsoft JScript runtime error: 'Sys' is undefined

Tout en essayant d'exécuter:

<head id="Head1" runat="server"> 
    <title>Untitled Page</title> 
    <script language="javascript" type="text/javascript"> 

     //ERROR IN THIS LINE!!! 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onUpdated()); 


      function onUpdated() { 
       // get the update progress div 
       var pnlPopup = $get("div2"); 
       // make it invisible 

      } 

    </script> 
</head> 
+1

Avez-vous un ScriptManager sur la page'? – k0ni

+0

@ k0ni, bien sûr – dani

+1

Assurez-vous que votre script est en dessous du scriptmanager. Peut-être essayer de mettre votre tag de script dans le corps et voir ce qui se passe – k0ni

Répondre

6

Assurez-vous que vous avez un ScriptManager sur la page et le script est en dessous de la scriptmanager. Peut-être essayer de mettre votre tag de script dans le corps et voir ce qui se passe.

Je ne sais pas comment vous pouvez résoudre ce problème que son pas dans le corps, mais peut-être il y a un rappel de son chargé lorsque Sys

Vous n'avez pas besoin parenthèses pour dire quelle fonction est neeeded:

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(onUpdated); 
+1

J'ai ajouté le JS ci-dessous le scriptmanager et cela a fonctionné! Mais je n'aime pas l'idée d'avoir js dans le corps ... Peut-on faire quelque chose à ce sujet? De toute façon, mettre à jour votre réponse (ajouter ce que vous avez posté dans le commentaire) et je vais l'accepter :) – dani

2

Si c'est votre code complet, le problème est que les bibliothèques Microsoft AJAX ne sont pas incluses. Si ce n'est pas votre code complet, alors vous devez poster plus car il est un peu difficile d'aller au-delà du fait que la bibliothèque n'est pas incluse. Quelque part dans votre dossier - avant la ligne que vous rencontrez des problèmes avec vous devez avoir un javascript comprennent comme:

<script type="text/javascript" src="/scripts/MicrosoftAjax.js" /> 

En plus probablement quelques autres.

Remarque: je parle de la source générée. Montrer un balisage plus complet suffirait probablement aussi.

+0

Le problème était de placer le code JS en dessous du gestionnaire de scrip ... – dani

0

Je suis un peu en retard à la discussion ici, mais une solution simple est de créer un "site Web ASP.NET AJAX-activé" dans Visual Studio, puis fusionner le web.config de ce site avec votre site existant . De cette manière, vous obtenez toute la configuration dont vous avez besoin sans devoir lire attentivement de nombreux documents. La vitesse est de l'essence et tout ce qui :)

+0

C'est ce que j'ai trouvé manquant de mon web.config pour résoudre cette erreur: '' –

0

Vous pouvez résoudre ce problème en définissant la propriété EnableCDN « true » .refer ce link

0

J'ai eu le même problème, après toutes les conclusions que j'ai trouvé que le nécessaire les fichiers de script ("MicrosoftAjax.js", "WebForms.js", "jquery", "bootstrap" etc.) n'étaient pas chargés correctement ce qui me causait 3 erreurs "Sys 'est indéfini", "webform_docallback est indéfini" et " webform_initcallback 'est indéfini', mon problème était que j'avais des références à ces fichiers qui n'étaient pas inclus dans mon projet, mon mauvais je ne l'ai pas remarqué, j'ai essayé toutes les solutions possibles sur internet avant de vraiment trouver mes fichiers js n'étaient pas inclus et c'est la raison pour laquelle il n'est pas chargé correctement.

Espérons que cela aide ..