Question

Nous avons utilisé IscriptControl pour lier les objets JavaScript à nos UserControls et ServerControls, et cela a bien fonctionné.

Le problème est que ASP.NET semble ne fournir aucune méthode pour lier un objet JavaScript à une page. Jusqu'à présent, nous avons mis des fonctions claires dans l'espace de noms mondial, mais je développe une sérieuse allergie à cette pratique.

Il serait assez facile d'envelopper nos fonctions dans une classe JavaScript et d'inclure le fichier JavaScript sur la page, mais comment instancier l'objet, comment les référencer à partir des événements de rappel, et comment lui passer des données à partir du code -Ahind, je n'ai pas compris.

Ou plutôt, les méthodes que nous utilisons jusqu'à présent (champs cachés, chaînes JavaScript émises, etc.), vraiment me déranger.

Quelqu'un a-t-il de meilleures idées?

Était-ce utile?

La solution

Il n'y a aucune association entre le fichier JS et la page, sauf si vous le construisez. Avec les commandes de script, la pratique courante pour stocker l'état est des champs cachés (la loi utilise cette approche). Les seules autres moyens de communiquer avec le serveur sont via un appel de service Web, le formulaire de données publié ou en invoquant un __dopostback (mais ce n'est pas AJAX).

Vous pouvez créer une architecture de base pour relier les deux ensemble. Avec les contrôles de script, le serveur rend une instruction $ CREATE pour passer des propriétés et des gestionnaires d'événements du serveur au client; Les données publiées sur le serveur sont stockées dans des variables cachées et traitées sur le client (avec la plupart des bibliothèques de scripts), donc les contrôles de script et agissent en cacher beaucoup pour vous, et vous devrez en créer une partie si vous le vouliez automatiser cela. Il peut être utile d'étudier l'interaction client-serveur pour vous donner des idées sur ce qu'il faut faire si vous vouliez personnaliser cela.

C'est drôle, je pensais à la même chose pour mon projet Nucleo (une bibliothèque tierce de mes tiers) sur CodePlex, mais je ne l'ai pas encore contourné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top