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.

💪🏻 ┬┐Este post te ha ayudado?, ┬┐has aprendido algo nuevo?
Pues NO te pido que me invites a un caf├ę... Te pido algo m├ís f├ícil y mucho mejor