2010-05-14 3 views
0

Je viens de mis à jour au AJAX Control Toolkit 3.5, changé le ScriptManager à la ToolkitScriptManager dans ma page principale et maintenant l'erreur javascript suivant se produit lorsqu'un bouton Edit est cliqué:erreur Javascript après la mise à jour ASP.NET AJAX ControlToolkit

« l'objet ne prend pas en charge cette propriété ou méthode »

la ligne de code cuasing l'erreur est:

this._destroyTree(updatePanelElement); 

Toutes les idées initiales avant de poster des masses de code?

Répondre

0

J'ai utilisé une version légèrement plus ancienne d'AJAX ControlToolkit 3.5 et les erreurs ont maintenant disparu.

0

Mon estimation initiale est que « ce » fait référence à quelque chose qui ne met pas en œuvre _destroyTree ou _destroyTree n'accepte pas un paramètre de type updatePanelElement

Gardez à l'esprit que le javascript est un peu différent de C# dans le fait que "ceci" se réfère au propriétaire actuel de la méthode exectuing.

+0

Oui, je dois le confirmer. J'attends que mon onglet Options avancées IE soit activé pour que je puisse activer le débogage de script. – empo

0

J'ai rencontré des problèmes similaires allant de ScriptManager à ToolkitScriptManager et bien que ce ne soit pas une solution élégante, la chose qui a fonctionné pour moi est de supprimer le ScriptManager, reconstruire la solution (même si elle génère des erreurs) ajoutez le ToolScriptManager dans et reconstruisez.

Pour une raison quelconque, le projet était suspendu à l'ancienne référence de type d'objet (ScriptManager) et causait des problèmes. Il n'a pas été supprimé et reconstruit (supprimant ainsi toutes les instances de l'objet du projet) et ajouté que toutes les connexions appropriées ont été définies.

+0

Cela n'a pas fonctionné. Mais merci quand même. – empo

1

J'ai eu le même problème alors que j'émigre mon projet de 3,5 à 4,0 .NET Framework

j'ai vu une solution très simple dans cette URI:

http://updatepanelshrinker.codeplex.com/discussions/397223

Commentaires d'utilisateurs cette méthode _destroyTree a été déprécié dans les versions .NET 4.0+. La nouvelle fonction à utiliser est:

//var prm = Sys.WebForms.PageRequestManager.getInstance(); 
//prm._destroyTree(object); 
Sys.Application.disposeElement(object, true); 

Cordialement!