Microsoft Ajax: Impossible d'obtenir la propriété 'X' de référence non définie ou nulle
-
11-12-2019 - |
Question
Comment dépanner l'erreur suivante étant lancée par une méthode structure Microsoft Ajax JavaScript?C'est une ligne de javascript générée automatiquement à partir d'un contrôle utilisateur personnalisé dans une application Web Forms (Sitefinity 5 CMS)
Message d'erreur:
Impossible d'obtenir la propriété 'FancyBlockDesigner' de référence non définie ou nulle
Voici le JavaScript qui lance l'erreur:
Sys.Application.add_init(function() { $create(SitefinityWebApp.Esd.TheLab.SampleHtmlEditor.FancyBlockDesigner, null, null, {"Editor":"propertyEditor_ctl00_ctl00_ctl00_ctl00_ctl00_Editor","propertyEditor":"propertyEditor"}, $get("propertyEditor_ctl00_ctl00_ctl00")); });
Plutôt que de discuter des fichiers ASCX et CS qui essaient de résumer ce détail loin de moi, je veux savoir ce que signifie cette erreur.Si je comprends le détail, l'abstraction pourrait avoir plus de sens.
La solution
"$ Create" fonction dans ASP.NET AJAX crée une instance de classe JavaScript. Microsoft a eu leur propre opinion sur la manière de faire de l'objet JavaScript orienté et au fil du temps, leur approche n'était pas exactement parfaite.
Quoi qu'il en soit, essayez d'expliquer ce qui se passe, laissez-moi donner un peu de vue d'ensemble oh comment ça fonctionne. Nous commençons par un contrôle côté serveur qui implémente IscriptControl Interface qui charge deux membres: GetscriptScriptor et GetsCriptreferences. Le second est assez simple - il vous permet d'enregistrer des références à tous les fichiers JavaScript que vous contrôlez auront besoin. Le GetscriptDescriptor, d'autre part, définissez toutes les instances de classes JavaScript que vous souhaitez utiliser et vous permet de définir leurs propriétés - initiez-les, si vous voulez.