Adicionando um script com ScriptManager em um CompositeControl?
-
08-07-2019 - |
Pergunta
Eu estou tentando chamar meu bom 'RegisterClientScriptBlock' velho na classe friendly 'ScriptManager'.
Ele simplesmente não funciona para o meu CompositeControl? Eu usá-lo em um usercontrol normal (ascx), onde ele funciona.
Visual Studio simplesmente não vai me aceitar digitando 'ScriptManager' ou eu recebo "O nome 'ScriptManager' não existe no contexto atual" se eu fizer e tentar compilar. O que está errado - eu tenho referências a System.Web.UI e eu ainda tenho ReSharper para me ajudar a adicioná-lo (e a instrução usando.) - se ele só tinha sido há
Ok, então algo muito simples e lógica está indo para baixo agora, eu só preciso saber o que ...
Todas as idéias?
Eu tenho Visual Studio 2008 com SP1.
EDIT: O CompositeControl que não funciona é realmente uma simples biblioteca de classes e não parte da aplicação web o arquivo ascx naturalmente é. Eu sei que isso poderia causar problemas desde que eu teria que definir uma referência para a página de alguma forma - eu tentei olhar para ClientScriptManager mas é construtor é interno indicando que ele está em algum lugar usado como internamente a partir ScriptManager - mas também sugestões de que poderia haver uma entrada vindo de uma biblioteca de classes (sem referência compiletime para o objeto Page)
Solução
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);
Finalmente achei:)