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)

Foi útil?

Solução

ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);

Finalmente achei:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top