Microsoft AJAX: No se puede obtener la propiedad 'X' de referencia indefinida o nula
-
11-12-2019 - |
Pregunta
¿Cómo soluciono problemas con el siguiente error que es lanzado por un método de marco de Microsoft AJAX JavaScript?Es una línea de javascript generada automáticamente de un control de usuario personalizado en una aplicación de formularios web (Sitefinity 5 CMS)
Mensaje de error:
No se puede obtener la propiedad 'FancyBlockDesigner' de referencia indefinida o nula
Aquí está el JavaScript que está lanzando el error:
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")); });
En lugar de discutir los archivos ASCX y CS que intentan abstraer este detalle, quiero saber qué significa este error.Si entiendo el detalle, la abstracción podría tener más sentido.
Solución
"$ Crear" en ASP.NET AJAX crea una instancia de la clase Javascript. Microsoft tuvo su propia opinión sobre cómo hacer que el objeto JavaScript orientado y con el tiempo que haya demostrado, su enfoque no fue exactamente perfecto.
de todos modos, para tratar de explicar lo que está sucediendo, déjame dar un poco de resumen, oh, cómo funciona. Comenzamos por un control del lado del servidor que implementa iscriptcontrol Interfaz que exige dos miembros: Getscriptdescriptores y Getscripreferences. El segundo es bastante sencillo: le permite registrar las referencias a todos los archivos de JavaScript que controlará usted requerirá. Los Gettipscriptscriptores, por otro lado, vamos a definir todas las instancias de las clases de Javascript que desea usar, así como le permite establecer sus propiedades, inicializarlas, si lo harán.