2009-03-06 8 views
0

J'ai construit un contrôle personnalisé qui a une petite quantité de JavaScript. Le JS est maintenu en tant que ressource incorporée. Quand mon contrôle est rendu, je l'ai ajouté à la page comme suit:asp: UpdatePanel/Contrôle personnalisé/RegisterClientScriptResource

Page.ClientScript.RegisterClientScriptResource(
    GetType(), "Resources.MyControl.js"); 

Les travaux de contrôle très bien, mais quand il est rendu à l'intérieur d'un panneau de mise à jour, je suppose que la ressource JS est ajoutée à la Objet de la page qui n'est pas renvoyé au client (seul le contenu du panneau de mise à jour le renvoie au client.)

Je pourrais ajouter le JS à ma bibliothèque d'applications qui corrige le problème lorsqu'il est chargé au début de la demande de page initiale. D'autres corrections? Un moyen d'utiliser RegisterClientScriptResource à partir d'un panneau de mise à jour?

Répondre

1

Vous devez vous enregistrer votre script avec la page ScriptManager pour travailler dans un panneau de mise à jour.

Heureusement, vous n'avez pas besoin de trouver l'instance du ScriptManager sur la page, parce qu'il ya une classe statique à portée de main, il suffit d'ajouter:

ScriptManager.RegisterClientScriptResource(this.GetType(), "Resources.MyControl.js"); 

Pour votre contrôle et vous définissez.