web-dev-qa-db-fra.com

Le framework client Ajax n'a pas réussi à charger Asp.Net 4.0

J'ai eu un problème compliqué avec ASP.Net 4.0 Ajax .... J'ai commencé un site Web avec Visual Studio 2010 sur ma machine, et j'ai ajouté des panneaux de mise à jour qui fonctionnaient bien, mais tout à coup, j'ai eu cette série d'erreurs lorsque j'ai exécuté mon site Internet

Erreur d'exécution Microsoft JScript: échec du chargement du framework côté client ASP.NET Ajax.

Erreur d'exécution Microsoft JScript: "Sys" n'est pas défini

Ce qui est étrange, c'est que j'ai créé un site Web sur la même machine avec VS 2010 et que les panneaux de mise à jour y fonctionnent parfaitement.J'ai pris son web.config sur mon nouveau site Web et changé juste la connexion ... et j'ai eu la même erreur

J'ai essayé de rechercher une solution, mais je n'ai trouvé aucune solution réelle. Quelqu'un peut-il m'aider?

28
Khaled

Voici la réponse de zhughes à partir de ce thread sur le forum asp.net.

La raison: le chemin du javascript généré par le scriptmanager change lorsque le module de routage d'URL est utilisé.

La solution: dites à l'API de routage de ne pas router les fichiers avec l'extension "axd" (les fichiers générés par le gestionnaire de scripts)

Ajoutez cette règle à la méthode dans laquelle vous enregistrez les règles de routage dans Global.asax

 routes.Ignore("{resource}.axd/{*pathInfo}");

en plus, vous devriez avoir cette section dans web.config

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>
32
Khaled

si vous utilisez le module de réécriture d'URL, dans chaque règle de réécriture, ajoutez

<add input="{URL}" pattern="\.axd$" negate="true"/>

sous la balise conditions, comme ceci:

<rule name="HomeRewrite" stopProcessing="true">
   <match url="^home$"/>
   <conditions>
     <add input="{URL}" pattern="\.axd$" negate="true"/>
   </conditions>
   <action type="Rewrite" url="/home.aspx"/>
</rule>
10
Safran Ali

Erreur d'exécution Microsoft JScript: échec du chargement du framework côté client ASP.NET Ajax.

Ajoutez une référence comme celle-ci ..

<add Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>              
<add Assembly="System.Data.Entity, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add Assembly="System.Data.Services, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add Assembly="System.Data.Services.Client, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
3
kumar

Il se peut qu'il manque simplement une partie de votre web.config comme le <Handlers> de <httpHandlers>, mon conseil est que si vous avez une ancienne copie de votre configuration Web, essayez-la.

3
Tarek El-Mallah

J'ai eu le même problème et je l'ai résolu en exécutant la commande aspnet_regiis -i sur le dossier du Framework 4.0 (sur lequel mon application a fonctionné). C'était un problème sur le mappage de gestionnaire d'IIS: cette opération a résolu le problème pour moi. Voir aussi ce post .

J'espère que cela pourrait être utile.

3
ste.xin

J'avais le même problème. J'ai installé VS 2010 SP1 et le problème a disparu.

3
user735232

Il s'agit d'une erreur courante qui se produit lorsque vous essayez d'appeler la fonction javascript du framework avant même que la page ne les ait chargées.

Ainsi, ether exécute votre code lorsque dom est prêt (par exemple pageload), ether place votre code après la balise scriptmanager, ou cochez pour le placer après le chargement javascript de scriptmanager.

2
Aristos

dans mon cas, c'est IISExpress, revenez au serveur de développement cassini corrigez mon mal de tête.

2
koo9

J'ai eu ce problème et j'ai demandé une réponse au tout-puissant Google, j'ai essayé diverses suggestions, y compris celles ci-dessus, mais je n'ai pas eu de chance. A renoncé et est passé à un autre travail, est revenu quelques jours plus tard et le problème avait disparu.

J'ai repris le travail, fait quelques modifications de code et publié mon site Web et le problème est réapparu. Je suis retourné sur Google et j'ai rencontré quelqu'un qui avait le problème lors de l'utilisation du framework 3.5. Dans ce cas, il a pu résoudre le problème en accédant au panneau de configuration "Ajout/Suppression de programmes" et en sélectionnant l'option de réparation.

J'ai fait de même, en réparant le "profil client MS .NET Framework 4" et "MS .NET Framework 4 Extended". Cela a résolu le problème pour moi.

J'espère que cela le résoudra pour quelqu'un d'autre.

2
kannankeril

J'ai également eu ce problème avec une page maître et dans mon cas, c'était un paramètre de méta "Base" qui me dérangeait. Je me souviens avoir lu un autre article/blog quelque part où ils mentionnaient un problème de validation ajax sur différents domaines provoquant ce type d'erreur.

Donc dans mon cas, j'avais un <base...> référence définissant l'URL par défaut du site, mais mon développeur était évidemment une URL différente ... donc en conflit et le "framework client ASP.NET Ajax n'a pas pu se charger". Erreur.

Suppression de la base et le tour est joué ... erreur disparue.

HTH

Dave

1
Dave
  1. Si le profil du client .Net Framework 4.0 n'est pas disponible sur votre ordinateur, réparez le .net Frame work 4.0 ou réinstallez-le.
  2. allez dans Project Property et sélectionnez target framework 3.5.
1

Dans mon cas, c'est l'outil UrlScan de Microsoft qui rejetait certaines URL demandées par Ajax. Le désactiver a résolu le problème.

1
Basil