Pregunta

Hemos estado utilizando iScriptControl para atar objetos JavaScript a nuestros UserControls y ServerControls, y ha funcionado bien.

El problema es que ASP.NET parece no proporcionar ningún método para vincular un objeto JavaScript a una página. Hasta ahora, hemos estado poniendo funciones simples en el espacio de nombres global, pero estoy desarrollando una alergia seria a esa práctica.

Sería bastante fácil envolver nuestras funciones en una clase de JavaScript e incluir el archivo JavaScript en la página, pero cómo instanciar el objeto, cómo hacer referencia a los eventos de devolución de llamada y cómo pasar los datos del código -Thind, no me he descubierto.

O más bien, los métodos que hemos estado utilizando hasta ahora (campos ocultos, cadenas de JavaScript emitidas, etc.), realmente me molestan.

¿Alguien tiene mejores ideas?

¿Fue útil?

Solución

No hay ninguna asociación entre el archivo JS y la página, a menos que lo cree. Con los controles de scripts, la práctica común para almacenar el estado son los campos ocultos (el acto utiliza este enfoque). Las únicas otras formas de comunicarse con el servidor es a través de una llamada de servicio web, datos publicados por el formulario o invocando un __doPostback (pero eso no es AJAX).

Puede crear una arquitectura base para unir los dos. Con los controles de script, el servidor representa una declaración de creación $ para pasar propiedades y controladores de eventos del servidor al cliente; Los datos que se publican en el servidor se almacenan en variables ocultas y se procesan en el cliente (con la mayoría de las bibliotecas de script), por lo que los scripts y los actúan esconder mucho de esto para usted, y tendrá que construir algo de esto si quisiera automatizar esto. Puede ser útil estudiar la interacción cliente-servidor para darle ideas sobre qué hacer si desea personalizar esto.

Es curioso, estaba pensando en lo mismo para mi proyecto Nucleo (una biblioteca mía de terceros) en Codeplex, pero aún no lo he hecho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top