Cómo detectar su nuestra página dispone de un ScriptManager o no

Hay veces que necesitaremos usar programáticamente un ScriptManager dentro de una página, por ejemplo para añadir dinámicamente referencias a Scripts o a servicios Web o WCF. Para ello deberemos automatizar el control ScriptManager que toda página AJAX debe tener, pero ¿qué pasa si no existe ese control?


Para asegurarnos de que el control está añadido a la página y que podemos utilizarlo podemos emplear el método estático GetCurrent de la clase ScriptManager para verificar su existencia, así:


public static bool IsScriptManagerPresent(Page p)
{
ScriptManager Smgr = ScriptManager.GetCurrent(p);
return (Smgr != null);
}

Con esta sencilla función podremos averiguar si hay un Scriptmanager presente o no.


Es interesante notar que este método funciona y devuelve el valor correcto incluso cuando el ScriptManager no está presente en la página actual sino en la página plantilla (Master Page) que la contiene. No obstante es importante darse cuenta de que en ese caso devovlerá true incluso si la Master Page tiene un ScriptManager aunque no tengamos un ScriptManagerProxy (SMP) en la nuestra, por lo que si obtuviésemos una referencia al ScriptManager estaríamos trabajando directamente con el de la MP aún sin un SMP.

Sin categoría

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *