J'écris une bibliothèque de classe personnalisée qui contient des contrôles personnalisés (pas de contrôles utilisateur). J'ai des fichiers javascript intégrés qui doivent être enregistrés sur la page.Accès à ToolKitScriptManager/ScriptManager à partir du contrôle personnalisé
Maintenant, puisqu'il s'agit d'une bibliothèque de classes, comment puis-je détecter si utiliser ou non un ToolKitScriptManager ou un ScriptManager? Page.ClientScript est un ClientScriptManager, mais le ferais-je si la page contient le nouveau ToolKitScriptManager?
En supposant que la page utilise un ToolKitScriptManager et que la méthode renvoie null, quel est le moyen le plus efficace de trouver le ToolKitScriptManager? Boucle à travers les contrôles de pages jusqu'à ce que je le trouve? – Matt
Étant donné que 'ToolKitScriptManager' dérive de' ScriptManager', je suppose que l'appel de 'ScriptManager.GetCurrent' retournerait (pour une page contenant un ToolKitScriptManager) une référence à ToolKitScriptManager (pour une page qui en contient une, cast comme ScriptManager) ou une référence à un ScriptManager, donc si l'un ou l'autre est sur la page, vous ne devriez pas obtenir 'null' retourné ... – Rob
Vos soupçons sont corrects. Je note également que j'ai trouvé que 'ScriptManager' m'a donné l'instance' ToolScriptManager'. Pour utiliser votre code, il est potentiellement nécessaire d'utiliser explicitement l'espace de noms (par exemple, en appelant 'System.Web.UI.ScriptManager.GetCurrent (this.Page);'). – Brian